perm filename DIAL78.XGP[DIA,JMC] blob sn#484853 filedate 1979-10-28 generic text, type T, neo UTF8
/LMAR=0/XLINE=3/FONT#0=BASL30/FONT#1=BASI30/FONT#2=BASB30/FONT#3=GACB25/FONT#4=SUP/FONT#5=NGR20/FONT#6=METLB/FONT#7=MS25/FONT#8=SAIL25/FONT#9=SIGN57/FONT#10=FIX25










␈↓ ↓H␈↓	␈↓ ¬≡DIALNET

␈↓ ↓H␈↓	␈↓ ∧ ␈↓εA Computer Communication Study




␈↓ ↓H␈↓ε␈↓ ¬=␈↓αproposal submitted to


␈↓ ↓H␈↓ε␈↓ ∧WNational Science Foundation
␈↓ ↓H␈↓α␈↓ ¬0Washington, D.C. 20550



␈↓ ↓H␈↓α␈↓ ε?by


␈↓ ↓H␈↓α␈↓ ¬↓Computer Science Department
␈↓ ↓H␈↓α␈↓ ¬≡␈↓εStanford University
␈↓ ↓H␈↓ε␈↓ ¬≥␈↓αStanford, California 94305




␈↓ ↓H␈↓α␈↓ ¬↑␈↓εAugust 1978



␈↓ ↓H␈↓α␈↓ β_Research Proposal Submitted to the National Science Foundation


␈↓ ↓H␈↓Proposed Amount ␈↓&␈↓λ$136,055␈↓␈↓)αβ Proposed E≥ective Date ␈↓&␈↓λ1 Jan. 1979␈↓␈↓)αβ Proposed Duration ␈↓&␈↓λ2 years␈↓␈↓)αβ

␈↓ ↓H␈↓Title ␈↓&␈↓λDialnet: a Computer Communication Study␈↓␈↓)αβ

␈↓ ↓H␈↓Principal Investigator:␈↓ ¬hSubmitting Institution:
␈↓ ↓H␈↓  ␈↓&␈↓λProfessor John McCarthy␈↓␈↓)αβ␈↓ ¬h  ␈↓&␈↓λStanford University␈↓␈↓)αβ
␈↓ ↓H␈↓  Soc. Sec. No. ␈↓&␈↓λ558-30-4793␈↓␈↓)αβ␈↓ ¬h  Department ␈↓&␈↓λComputer Science Department␈↓␈↓)αβ
␈↓ ↓H␈↓␈↓ ¬h  Branch ␈↓&␈↓λSchool of Humanities and Sciences␈↓␈↓)αβ




␈↓ ↓H␈↓Make grant to ␈↓&␈↓λ         Leland Stanford Junior University          ␈↓␈↓)αβ





␈↓ ↓H␈↓Endorsements:

␈↓ ↓H␈↓␈↓ αXPrincipal Investigator␈↓ ¬hDepartment Head␈↓ λxAdministrative O≠cial

␈↓ ↓H␈↓Name␈↓ αX␈↓&␈↓λJohn McCarthy       ␈↓␈↓)αβ␈↓ ¬h␈↓&␈↓λEdward A. Feigenbaum ␈↓␈↓)αβ␈↓ λx␈↓&␈↓λ                    ␈↓␈↓)αβ


␈↓ ↓H␈↓Signature␈↓ αX␈↓&␈↓λ                     ␈↓␈↓)αβ␈↓ ¬h␈↓&␈↓λ                     ␈↓␈↓)αβ␈↓ λx␈↓&␈↓λ                    ␈↓␈↓)αβ

␈↓ ↓H␈↓Title␈↓ αX␈↓&␈↓λ Professor           ␈↓␈↓)αβ␈↓ ¬h␈↓&␈↓λProfessor & Chairman ␈↓␈↓)αβ␈↓ λx␈↓&␈↓λ                    ␈↓␈↓)αβ

␈↓ ↓H␈↓Telephone␈↓ αX␈↓&␈↓λ(415) 497-4430       ␈↓␈↓)αβ␈↓ ¬h␈↓&␈↓λ(415) 497-4878       ␈↓␈↓)αβ␈↓ λx␈↓&␈↓λ                    ␈↓␈↓)αβ

␈↓ ↓H␈↓Date␈↓ αX␈↓&␈↓λ                     ␈↓␈↓)αβ␈↓ ¬h␈↓&␈↓λ                     ␈↓␈↓)αβ␈↓ λx␈↓&␈↓λ                    ␈↓␈↓)αβ
␈↓ ↓H␈↓α␈↓ ¬VTable of Contents␈↓ Ni


␈↓ ↓H␈↓α␈↓ αλSection␈↓ ¬gPage

␈↓ ↓H␈↓1.  Current Proposal␈↓ ε¬  1

␈↓ ↓H␈↓␈↓ β+␈↓αAppendices␈↓

␈↓ ↓H␈↓A.  Original Dialnet Proposal␈↓ ε¬  2

␈↓ ↓H␈↓B.  Basic line protocol␈↓ ε¬  6

␈↓ ↓H␈↓C.  File transfer protocol␈↓ ¬v  12

␈↓ ↓H␈↓D.  Mail protocol␈↓ ¬v  20

␈↓ ↓H␈↓E.  Personnel␈↓ ¬v  24

␈↓ ↓H␈↓F.  Facilities␈↓ ¬v  26

␈↓ ↓H␈↓G.  Current Support␈↓ ¬v  27

␈↓ ↓H␈↓H.  Budget␈↓ ¬v  29
␈↓ ↓H␈↓α␈↓ εP␈↓ L1


␈↓ ↓H␈↓α␈↓ αq1.  Current Proposal                       ␈↓ εx␈↓Work␈α∃has␈α∃started␈α∃on␈α∃the␈α∃line␈α∀transmission
                                           ␈↓ εx␈↓protocol␈α∨at␈α∨LOTS.␈α∨ We␈α∨hope␈α∨to␈α≡have
␈↓ ↓H␈↓The␈α
aim␈αof␈α
the␈αproject␈α
is␈αthe␈α
same␈αas␈α
that␈αof        ␈↓ εx␈↓experimental␈α$mail␈α#and␈α$virtual␈α#terminal
␈↓ ↓H␈↓our␈α∃previous␈α∃proposal␈α∃a␈α∃copy␈α∃of␈α∃which␈α∀is          ␈↓ εx␈↓protocols␈α∂running␈α∂and␈α∂available␈α∂for␈α⊂users␈α∂by
␈↓ ↓H␈↓included␈α∂as␈α∂appendix␈α∞A.␈α∂ We␈α∂have␈α∞generally       ␈↓ εx␈↓the end of the summer.
␈↓ ↓H␈↓followed␈α∞the␈α∂approach␈α∞laid␈α∞out␈α∂there,␈α∞though
␈↓ ↓H␈↓speci≡c␈α↔plans␈α↔have␈α⊗been␈α↔altered␈α↔based␈α⊗on         ␈↓ εx␈↓The␈α∀biggest␈α∀problem␈α∀encountered␈α∀so␈α∀far␈α∀is
␈↓ ↓H␈↓experience.                                ␈↓ εx␈↓that␈α∃some␈α⊗operating␈α∃systems␈α∃are␈α⊗unable␈α∃to
                                           ␈↓ εx␈↓sustain␈α≥the␈α≥1200␈α≥baud␈α≥transmission␈α≤rate
␈↓ ↓H␈↓Up␈α∃to␈α∃July␈α∃1978,␈α∀one␈α∃year␈α∃into␈α∃the␈α∀grant           ␈↓ εx␈↓without␈α∪bu≥er␈α∪ over∨ow.␈α∪ Other␈α∀systems␈α∪do
␈↓ ↓H␈↓period, the following had been accomplished:␈↓ εx␈↓not␈α
have␈αthis␈α
problem,␈α
but␈αare␈α
too␈α"helpful"␈α
in
                                           ␈↓ εx␈↓that␈α∀they␈α∪insert␈α∀spurious␈α∪bytes␈α∀in␈α∀the␈α∪data
␈↓ ↓H␈↓1.␈α_We␈α_have␈α↔conferred␈α_with␈α_the␈α↔following          ␈↓ εx␈↓stream␈α≤to␈α≤warn␈α≤about␈α≤a␈α≥possible␈α≤bu≥er
␈↓ ↓H␈↓individuals␈α∩and␈α∩groups␈α∩on␈α∩our␈α∪plans␈α∩about        ␈↓ εx␈↓over∨ow␈α∂and␈α∂in␈α∂the␈α∂process␈α∂confuse␈α∂any␈α∂line
␈↓ ↓H␈↓the form the protocols should take:        ␈↓ εx␈↓protocol␈α⊗negotiations␈α⊗going␈α⊗on.␈α⊗ Of␈α∃course,
␈↓ ↓H␈↓␈↓ ↓hVint Cerf, Defense Advanced Research       ␈↓ εx␈↓Dialnet␈α
recovers␈α
from␈α
this␈α∞condition␈α
properly,
␈↓ ↓H␈↓␈↓ βλProjects Agency                            ␈↓ εx␈↓but␈α∪not␈α∀without␈α∪data␈α∪bandwidth␈α∀being␈α∪lost
␈↓ ↓H␈↓␈↓ ↓hSandy Fraser, et al, Bell Telephone        ␈↓ εx␈↓unnecessarily.
␈↓ ↓H␈↓␈↓ βλLaboratories
␈↓ ↓H␈↓␈↓ ↓hChris Ryland, Columbia University          ␈↓ εx␈↓There␈α∃are␈α∃at␈α∃least␈α∃two␈α∃ways␈α∃around␈α∀these
␈↓ ↓H␈↓␈↓ ↓hStu Wecker, et al, Digital Equipment       ␈↓ εx␈↓problems:␈α∂to␈α∂modify␈α∂the␈α∂operating␈α∂systems␈α∞or
␈↓ ↓H␈↓␈↓ βλCorporation                                ␈↓ εx␈↓to␈α⊂develop␈α⊃a␈α⊂microprocessor␈α⊂front␈α⊃end.␈α⊂ The
␈↓ ↓H␈↓␈↓ ↓hMichael Blasgen, IBM                       ␈↓ εx␈↓latter␈α
is␈α
somewhat␈αmore␈α
general␈α
and␈αalso␈α
o≥ers
␈↓ ↓H␈↓␈↓ ↓hDavid Moon, Ken Pogran, MIT                ␈↓ εx␈↓the␈αpossibility␈αof␈α
putting␈αmost␈αof␈αthe␈α
overhead
␈↓ ↓H␈↓␈↓ ↓hGlenn Richart, National Institutes of Health␈↓ εx␈↓of␈αthe␈αline␈αprotocol␈αin␈αthe␈αfront␈αend.␈α
 Most␈αof
␈↓ ↓H␈↓␈↓ ↓hGeo≥ Goodfellow, SRI International         ␈↓ εx␈↓our␈α→early␈α→work␈α→has␈α→been␈α→on␈α→the␈α→former
                                           ␈↓ εx␈↓approach,␈α∂but␈α∂in␈α∂the␈α∞next␈α∂period␈α∂we␈α∂plan␈α∞to
␈↓ ↓H␈↓We␈α→believe␈α→we␈α→can␈α→satisfy␈α→all␈α_reasonable         ␈↓ εx␈↓pursue␈α∞the␈α∞latter.␈α∞ Toward␈α∞this␈α∞end,␈α∂we␈α∞have
␈↓ ↓H␈↓requirements if not all reasonable tastes. ␈↓ εx␈↓included␈α≡in␈α≡the␈α≥budget␈α≡funds␈α≡for␈α≥four
                                           ␈↓ εx␈↓microprocessor controlled modems.
␈↓ ↓H␈↓2.␈α
The␈α
following␈αprotocols␈α
exist␈α
in␈α
draft␈αform
␈↓ ↓H␈↓and␈α∞are␈α∂included␈α∞as␈α∞appendices␈α∂B␈α∞thru␈α∂D␈α∞of         ␈↓ εx␈↓In␈α∀the␈α∀period␈α∀of␈α∀this␈α∀proposal␈α∀we␈α∀plan␈α∪to
␈↓ ↓H␈↓this proposal:                             ␈↓ εx␈↓re≡ne␈α∃and␈α∃extend␈α∃the␈α∃basic␈α∀communication
␈↓ ↓H␈↓  B.  Basic line protocol                  ␈↓ εx␈↓protocols␈α
and␈α
invite␈α
a␈αnumber␈α
of␈α
new␈α
sites␈αto
␈↓ ↓H␈↓  C.  File transfer protocol               ␈↓ εx␈↓join␈α1in␈α1experimental␈α1implementations.
␈↓ ↓H␈↓  D.  Mail protocol (preliminary)          ␈↓ εx␈↓Assuming␈α/general␈α.acceptance␈α/of␈α.the
␈↓ ↓H␈↓A␈α*virtual␈α*terminal␈α*protocol␈α+will␈α*be             ␈↓ εx␈↓experimental␈α∪network,␈α∪we␈α∪shall␈α∪endeavor␈α∪to
␈↓ ↓H␈↓forthcoming shortly.                       ␈↓ εx␈↓get␈α≤the␈α≤protocols␈α≤adopted␈α≤as␈α≤a␈α≤national
                                           ␈↓ εx␈↓standard.
␈↓ ↓H␈↓3.␈α∂Modems␈α∞have␈α∂been␈α∞acquired␈α∂and␈α∞installed
␈↓ ↓H␈↓at␈α+the␈α+Stanford␈α,Arti≡cial␈α+Intelligence
␈↓ ↓H␈↓Laboratory␈α#and␈α"at␈α#the␈α#Stanford␈α"Low-
␈↓ ↓H␈↓Overhead␈α↔Time-sharing␈α↔System.␈α↔ We␈α⊗have
␈↓ ↓H␈↓chosen␈α∞the␈α
Bell␈α∞System␈α
1200-1200␈α∞full␈α
duplex
␈↓ ↓H␈↓protocol␈α
for␈α
the␈α
modems␈α
and␈α∞have␈α
purchased
␈↓ ↓H␈↓Vadic modems meeting this standard.

␈↓ ↓H␈↓4.␈α∞The␈α∞basic␈α∞line␈α∞transmission␈α∂protocols␈α∞have
␈↓ ↓H␈↓been␈α≥programmed␈α≡at␈α≥SAIL␈α≡and␈α≥revised
␈↓ ↓H␈↓several␈α⊂times␈α∂in␈α⊂the␈α∂light␈α⊂of␈α⊂that␈α∂experience.
␈↓ ↓H␈↓α␈↓ εP␈↓ J2


␈↓ ↓H␈↓α␈↓ β%Appendix A                                 ␈↓ εx␈↓been␈α⊃started,␈α∩but␈α⊃they␈α∩all␈α⊃have␈α∩problems␈α⊃of
␈↓ ↓H␈↓α␈↓ αIOriginal Dialnet Proposal                  ␈↓ εx␈↓expense␈αand␈α
␈↓↓also␈αof␈αdeciding␈α
who␈αshould␈α
be␈αon
                                           ␈↓ εx␈↓↓them␈↓.␈α
 Some␈α
facilities␈α
have␈α
gone␈α
to␈α
the␈α
expense
                                           ␈↓ εx␈↓of joining more than one network.
␈↓ ↓H␈↓α␈↓ β/1.  Purpose
                                           ␈↓ εx␈↓        We␈αpropose␈αto␈αdesign␈αprotocols␈αthat␈αcan
␈↓ ↓H␈↓This␈α⊂is␈α⊂a␈α⊂request␈α⊂for␈α⊂a␈α⊂grant␈α⊂to␈α⊃support␈α⊂an         ␈↓ εx␈↓be␈α∂implemented␈α∂at␈α∂any␈α∂time-shared␈α∂computer
␈↓ ↓H␈↓eighteen␈α"month␈α!study␈α"and␈α!experimental          ␈↓ εx␈↓installation␈α$without␈α$joining␈α$any␈α$formal
␈↓ ↓H␈↓implementation␈αof␈αprotocols␈αthat␈αwould␈αpermit   ␈↓ εx␈↓network.␈α∃ The␈α∃hardware␈α∃cost␈α∃will␈α⊗be␈α∃from
␈↓ ↓H␈↓ARPAnet-like␈α
facilities␈α
to␈α
be␈α
provided␈α
to␈αany    ␈↓ εx␈↓$1000␈α
to␈α
$5000␈α
depending␈α
on␈α
how␈α
di≠cult␈α
it␈α
is
␈↓ ↓H␈↓time-sharing␈α?␈ααcomputer␈α?␈ααsystem␈α?␈ααthat             ␈↓ εx␈↓to␈α
connect␈αdevices␈α
to␈αthe␈α
computer.␈α There␈α
will
␈↓ ↓H␈↓implemented␈α∪them␈α∩and␈α∪equipped␈α∪itself␈α∩with       ␈↓ εx␈↓be␈α∃programs␈α∃to␈α∃operate␈α∃a␈α⊗telephone␈α∃dialer
␈↓ ↓H␈↓telephone␈α→dialing␈α→equipment␈α→and␈α→modems.        ␈↓ εx␈↓(rented␈α⊂from␈α⊂the␈α⊂telephone␈α⊂company)␈α⊃and␈α⊂to
␈↓ ↓H␈↓We␈α∩call␈α∩the␈α∩system␈α∩Dialnet␈α∩by␈α∩analogy,␈α∩but        ␈↓ εx␈↓transmit␈α
signals␈α
and␈α
information␈α∞according␈α
to
␈↓ ↓H␈↓unlike␈α(the␈α(ARPAnet,␈α(it␈α(requires␈α'no              ␈↓ εx␈↓the␈α⊃protocols.␈α⊂ Any␈α⊃installation␈α⊂implementing
␈↓ ↓H␈↓administrator to "admit" new members.      ␈↓ εx␈↓the␈αprotocols␈αwill␈αbe␈αable␈αto␈αcommunicate␈αwith
                                           ␈↓ εx␈↓any␈α∂other.␈α∂ The␈α∂only␈α⊂disadvantage␈α∂compared
␈↓ ↓H␈↓        The␈α2ARPAnet␈α2connects␈α2several          ␈↓ εx␈↓with␈α⊃the␈α⊃ARPAnet␈α⊂will␈α⊃be␈α⊃lower␈α⊃speed␈α⊂and
␈↓ ↓H␈↓hundred␈α⊂computer␈α⊂facilities␈α⊂and␈α⊃allows␈α⊂users    ␈↓ εx␈↓higher␈α⊂cost␈α⊂when␈α∂the␈α⊂volume␈α⊂of␈α∂information
␈↓ ↓H␈↓of␈α⊗one␈α∃system␈α⊗to␈α⊗log␈α∃in␈α⊗on␈α⊗others,␈α∃allows          ␈↓ εx␈↓transferred is very high.
␈↓ ↓H␈↓transmission␈α↔of␈α↔messages␈α↔between␈α_users␈α↔of
␈↓ ↓H␈↓di≥erent␈αcomputers,␈αand␈αallows␈αthe␈αtransfer␈αof   ␈↓ εx␈↓        Like␈α∃ARPAnet,␈α∃Dialnet␈α∃will␈α⊗be␈α∃most
␈↓ ↓H␈↓≡les␈α∃between␈α∃computers.␈α∃ More␈α∃generally,␈α∀it     ␈↓ εx␈↓useful␈α∩to␈α∩␈↓↓full␈α∩time-sharing␈α∩systems␈↓.␈α∩ In␈α⊃such
␈↓ ↓H␈↓allows␈α
interaction␈αamong␈α
programs␈αin␈α
di≥erent   ␈↓ εx␈↓systems,␈α⊂each␈α∂user␈α⊂has␈α∂named␈α⊂disk␈α⊂≡les␈α∂than
␈↓ ↓H␈↓computers.                                 ␈↓ εx␈↓are␈αkept␈αin␈αthe␈αsystem␈αeven␈αwhen␈αhe␈αis␈αabsent
                                           ␈↓ εx␈↓(and␈α∩therefore␈α∩remotely␈α∩accessible),␈α∩and␈α∩new
␈↓ ↓H␈↓        These␈αfacilities␈αhave␈αproven␈αvaluable␈α
in␈↓ εx␈↓≡les␈α
can␈αbe␈α
created␈αby␈α
≡le␈αtransfer␈α
from␈αother
␈↓ ↓H␈↓permitting␈α≤collaboration␈α≥between␈α≤computer     ␈↓ εx␈↓machines␈α∪and␈α∪on␈α∪receipt␈α∪of␈α∪messages.␈α∪ The
␈↓ ↓H␈↓scientists␈α⊃at␈α⊃di≥erent␈α⊃sites␈α⊃and␈α∩in␈α⊃permitting   ␈↓ εx␈↓usefulness␈α∩of␈α∪the␈α∩message␈α∪facilities␈α∩normally
␈↓ ↓H␈↓nationwide␈α∂access␈α∂to␈α∞unique␈α∂facilities␈α∂such␈α∞as   ␈↓ εx␈↓requires␈α↔that␈α↔users␈α↔habitually␈α↔log␈α↔in␈α⊗each
␈↓ ↓H␈↓the␈α∩MACSYMA␈α∩system␈α∩for␈α∩computing␈α⊃with           ␈↓ εx␈↓working␈α∀day␈α∀and␈α∀are␈α∀most␈α∃bene≡cial␈α∀when
␈↓ ↓H␈↓algebraic␈αand␈α
analytic␈αexpressions␈α
at␈αM.I.T.␈α
 It ␈↓ εx␈↓users␈α⊗have␈α⊗individual␈α⊗display␈α↔terminals␈α⊗in
␈↓ ↓H␈↓permits␈α⊂a␈α⊂new␈α∂form␈α⊂of␈α⊂publication␈α⊂in␈α∂which        ␈↓ εx␈↓their␈α⊗o≠ces.␈α⊗ Further␈α⊗bene≡ts␈α↔accrue␈α⊗when
␈↓ ↓H␈↓documents␈α→are␈α_kept␈α→in␈α_the␈α→computer,␈α_are          ␈↓ εx␈↓reports␈α⊗are␈α∃normally␈α⊗prepared␈α⊗at␈α∃terminals
␈↓ ↓H␈↓continuously␈α'updatable,␈α(are␈α'immediately       ␈↓ εx␈↓and␈α∂when␈α∂secretaries␈α∞use␈α∂terminals␈α∂for␈α∞letters
␈↓ ↓H␈↓accessible␈α→throughout␈α→the␈α→country,␈α→and␈α→in       ␈↓ εx␈↓and␈α∞messages.␈α∂ However,␈α∞many␈α∂less␈α∞advanced
␈↓ ↓H␈↓which␈αcomments␈αfrom␈αreaders␈αare␈αaccessible␈α
to    ␈↓ εx␈↓installations␈α∞have␈α∞found␈α∞the␈α∞ARPAnet␈α
useful
␈↓ ↓H␈↓other readers.                             ␈↓ εx␈↓and␈α∃more␈α∃and␈α∃more␈α∃systems␈α∃are␈α∃acquiring
                                           ␈↓ εx␈↓economical full time-sharing capability.
␈↓ ↓H␈↓        The␈α∃usefulness␈α∃of␈α∃the␈α⊗ARPAnet␈α∃has
␈↓ ↓H␈↓prompted␈α∃many␈α∃non-defense␈α∃installations␈α∃to     ␈↓ εx␈↓        While␈α∂we␈α∂expect␈α∂that␈α∂the␈α∂≡rst␈α⊂users␈α∂of
␈↓ ↓H␈↓try␈αto␈αconnect␈αto␈αit,␈αand␈αin␈αsome␈αcases␈αthis␈αhas     ␈↓ εx␈↓Dialnet␈α∀will␈α∪be␈α∀regular␈α∪computer␈α∀users,␈α∪the
␈↓ ↓H␈↓been␈α"possible,␈α"but␈α"in␈α"other␈α"cases␈α!the            ␈↓ εx␈↓corresponding␈α⊃ARPAnet␈α⊃facilities␈α⊃have␈α⊃been
␈↓ ↓H␈↓institutional␈α
and␈α≡nancial␈α
obstacles␈α
have␈αbeen  ␈↓ εx␈↓used␈α"by␈α!non␈α"computer␈α"people,␈α!Dialnet
␈↓ ↓H␈↓insuperable.␈α
 The␈α
main␈α
≡nancial␈α
obstacles␈α
are   ␈↓ εx␈↓protocols␈α⊂will␈α∂not␈α⊂require␈α∂ability␈α⊂to␈α∂program,
␈↓ ↓H␈↓the␈α⊂need␈α∂for␈α⊂a␈α∂dedicated␈α⊂computer␈α⊂called␈α∂an       ␈↓ εx␈↓and␈α∀we␈α∀expect␈α∪increasing␈α∀use␈α∀by␈α∀others␈α∪as
␈↓ ↓H␈↓IMP␈α⊃costing␈α⊃about␈α⊃$80,000␈α⊃at␈α⊃each␈α⊃site␈α⊃and        ␈↓ εx␈↓terminals become more widespread.
␈↓ ↓H␈↓the␈α∪need␈α∪for␈α∪dedicated␈α∪communication␈α∪lines
␈↓ ↓H␈↓rented␈α∃by␈α∀DoD␈α∃at␈α∀great␈α∃expense␈α∃from␈α∀the           ␈↓ εx␈↓        In␈α_order␈α→to␈α_make␈α_the␈α→picture␈α_more
␈↓ ↓H␈↓telephone␈α∀companies.␈α∀ Other␈α∃networks␈α∀have      ␈↓ εx␈↓concrete,␈α∂here␈α∞is␈α∂a␈α∞scenario␈α∂of␈α∞the␈α∂use␈α∂of␈α∞the
                                           ␈↓ εx␈↓system.
␈↓ ↓H␈↓αOriginal Dialnet Proposal␈↓ εP␈↓ J3


␈↓ ↓H␈↓α␈↓ β*2.  Scenario                               ␈↓ εx␈↓logged␈α⊂in␈α∂and␈α⊂the␈α∂caller␈α⊂is␈α∂so␈α⊂informed.␈α∂ He
                                           ␈↓ εx␈↓then types
␈↓ ↓H␈↓A user named Smith types on his terminal   ␈↓ εx␈↓β␈↓ π_locate dave@utex-chem3
␈↓ ↓H␈↓β␈↓ ↓hmail Organik                               ␈↓ εx␈↓which␈α
obtains␈αthe␈α
following␈α
information␈αfrom
␈↓ ↓H␈↓β␈↓ ↓hDo you have any active work there on       ␈↓ εx␈↓the speci≡ed computer:
␈↓ ↓H␈↓β␈↓ ↓hhuman red cell carbonic anhydrase B?       ␈↓ εx␈↓β␈↓ π_David Piranha last logged out at
                                           ␈↓ εx␈↓β␈↓ π_23:47 on 9 May 1976.  Plan: I will
␈↓ ↓H␈↓The␈α_system␈α_looks␈α_up␈α_Organik␈α_in␈α↔Smith's           ␈↓ εx␈↓β␈↓ π_be out of touch May 10 through 16.
␈↓ ↓H␈↓correspondent␈α≠≡le␈α≤and␈α≠discovers␈α≤that␈α≠his        ␈↓ εx␈↓β␈↓ π_I plan to visit Martin Shumway at
␈↓ ↓H␈↓computer␈αpseudonym␈αis␈α"NAT"␈αat␈α
a␈αcomputer        ␈↓ εx␈↓β␈↓ π_the University of Utah on May 17 and
␈↓ ↓H␈↓called␈α∞UTEX-CHEM1␈α∞that␈α∞is␈α∞reached␈α∞at␈α
512         ␈↓ εx␈↓β␈↓ π_should return by May 18.  Will check
␈↓ ↓H␈↓471-3221␈α∀via␈α∀a␈α∀1200/150␈α∀baud␈α∀asychronous        ␈↓ εx␈↓β␈↓ π_mail from Utah.
␈↓ ↓H␈↓modem.␈α∀ It␈α∀selects␈α∀an␈α∀outgoing␈α∀line␈α∀with␈α∪a
␈↓ ↓H␈↓matching␈α≤modem,␈α≤dials␈α≤the␈α≥number␈α≤and            ␈↓ εx␈↓Noting␈α
that␈α
the␈α
current␈α
date␈α
is␈α
May␈α
14,␈αso␈α
that
␈↓ ↓H␈↓attempts␈α→to␈α→transmit␈α→the␈α→message.␈α~ If␈α→the        ␈↓ εx␈↓there␈α
is␈α
no␈α
point␈α
in␈α
getting␈α
the␈α
message␈α
there
␈↓ ↓H␈↓transmitting␈α
computer␈α
cannot␈α
elicit␈α
a␈αresponse  ␈↓ εx␈↓quickly, Smith types
␈↓ ↓H␈↓from␈αthe␈α
desired␈αrecipient,␈α
it␈αinforms␈α
the␈αuser   ␈↓ εx␈↓β␈↓ π_night mail dave@utex-chem3
␈↓ ↓H␈↓that␈α⊃it␈α∩will␈α⊃try␈α∩again␈α⊃later␈α∩and␈α⊃send␈α∩him␈α⊃a         ␈↓ εx␈↓β␈↓ π_I am interested in your work on
␈↓ ↓H␈↓message␈αwhen␈α
the␈αtransmission␈α
has␈αsucceeded.    ␈↓ εx␈↓β␈↓ π_anhydrase B.  If possible, give
␈↓ ↓H␈↓If␈αthe␈αuser's␈αcorrespondent␈α≡le␈αdid␈αnot␈αcontain   ␈↓ εx␈↓β␈↓ π_pointers to online documentation,
␈↓ ↓H␈↓the␈α7telepone␈α7number␈α8and␈α7modem                  ␈↓ εx␈↓β␈↓ π_else give me a call at 415 497-4430
␈↓ ↓H␈↓characteristics,␈α∞the␈α
user␈α∞would␈α
have␈α∞to␈α
supply   ␈↓ εx␈↓β␈↓ π_(Stanford) or 415 321-7580 (home).
␈↓ ↓H␈↓them.                                      ␈↓ εx␈↓The␈α"night␈α
mail"␈αcommand␈α
causes␈αthe␈α
message
                                           ␈↓ εx␈↓transmission␈α∂to␈α∞be␈α∂deferred␈α∂until␈α∞inexpensive
␈↓ ↓H␈↓The␈α⊂identity␈α⊂and␈α∂location␈α⊂of␈α⊂the␈α⊂sender␈α∂and       ␈↓ εx␈↓nighttime telephone rates are in force.
␈↓ ↓H␈↓date␈α
and␈α
time␈αof␈α
the␈α
message␈αare␈α
automatically
␈↓ ↓H␈↓placed␈α∩at␈α⊃the␈α∩front␈α∩of␈α⊃the␈α∩message.␈α∩ At␈α⊃the        ␈↓ εx␈↓Additional␈α⊂capabilities␈α⊃of␈α⊂the␈α⊃Dialnet␈α⊂system
␈↓ ↓H␈↓receiving␈αend,␈αif␈αthe␈αaddressee␈αis␈αlogged␈αin␈αon    ␈↓ εx␈↓can␈α
be␈α
used␈α
to␈α
follow␈α
up␈α
on␈α
the␈α
above␈α
inquiry,
␈↓ ↓H␈↓the␈αcomputer,␈αhe␈αis␈αimmediately␈αinformed␈αthat    ␈↓ εx␈↓as follows.
␈↓ ↓H␈↓mail␈α∃has␈α∃arrived␈α∀and␈α∃from␈α∃whom.␈α∃ If␈α∀not
␈↓ ↓H␈↓logged␈αin,␈αhe␈αwill␈αreceive␈αthe␈αmessage␈αthe␈αnext    ␈↓ εx␈↓␈↓π⊗␈↓ The ability to access remote text ≡les will be
␈↓ ↓H␈↓time␈αhe␈αlogs␈αin.␈α In␈αeither␈αcase,␈αhe␈αcan␈αuse␈αthe     ␈↓ εx␈↓␈↓ π_provided (with permission of the owners
␈↓ ↓H␈↓same facility to respond:                  ␈↓ εx␈↓␈↓ π_required, of course).  This interactive
␈↓ ↓H␈↓β␈↓ ↓hmail Smith                                 ␈↓ εx␈↓␈↓ π_reading facility will include the addition of
␈↓ ↓H␈↓β␈↓ ↓hDavid Piranha (DAVE@UTEX-CHEM3) has        ␈↓ εx␈↓␈↓ π_"footnotes" to various parts of the text.
␈↓ ↓H␈↓β␈↓ ↓ha student working on inhibition by         ␈↓ εx␈↓␈↓ π_These footnotes may be declared private
␈↓ ↓H␈↓β␈↓ ↓hanions of anhydrase B.                     ␈↓ εx␈↓␈↓ π_(i.e. belonging to the reader) or public
                                           ␈↓ εx␈↓␈↓ π_(available to the author and possibly
␈↓ ↓H␈↓Following up on this lead, the user types  ␈↓ εx␈↓␈↓ π_others).
␈↓ ↓H␈↓β␈↓ ↓hlink dave@utex-chem3
                                           ␈↓ εx␈↓␈↓π⊗␈↓ It will be possible to run programs on a
␈↓ ↓H␈↓A␈α∨connection␈α is␈α∨made␈α∨to␈α the␈α∨speci≡ed             ␈↓ εx␈↓␈↓ π_remote computer, permitting experiments
␈↓ ↓H␈↓computer␈α⊗and,␈α⊗if␈α↔DAVE␈α⊗is␈α⊗logged␈α↔in,␈α⊗he            ␈↓ εx␈↓␈↓ π_with programs developed in other places.
␈↓ ↓H␈↓immediately receives a message saying      ␈↓ εx␈↓␈↓ π_This facility will permit the sharing of
␈↓ ↓H␈↓β␈↓ ↓h** Link request from Smith @SU-CHEM7       ␈↓ εx␈↓␈↓ π_unique specialized capabilities over a
␈↓ ↓H␈↓β␈↓ ↓h**                                         ␈↓ εx␈↓␈↓ π_geographically distributed population.
␈↓ ↓H␈↓He␈α⊗could␈α⊗then␈α⊗type␈α⊗"␈↓βlink␈↓"␈α⊗and␈α↔have␈α⊗his
␈↓ ↓H␈↓keyboard␈α_and␈α_display␈α_e≥ectively␈α_linked␈α↔to       ␈↓ εx␈↓␈↓π⊗␈↓ File transfers will be permitted, with
␈↓ ↓H␈↓those of the caller, permitting a conversation.␈↓ εx␈↓␈↓ π_suitable error detection and correction
                                           ␈↓ εx␈↓␈↓ π_features, to permit sharing of data.  The
␈↓ ↓H␈↓Let␈α⊂us␈α⊂suppose,␈α⊂however,␈α⊂that␈α⊂DAVE␈α⊂is␈α⊂not         ␈↓ εx␈↓␈↓ π_communication protocol should be able to
␈↓ ↓H␈↓αOriginal Dialnet Proposal␈↓ ε↔Scenario␈↓ G4


␈↓ ↓H␈↓␈↓ ↓hadapt to a wide range of noise conditions  ␈↓ εx␈↓one␈αprogram␈αmay␈αsend␈αanother␈αin␈αcases␈αwhere
␈↓ ↓H␈↓␈↓ ↓hon phone lines.                            ␈↓ εx␈↓the␈αtwo␈αprograms␈αare␈αnot␈αwritten␈αtogether,␈αbut
                                           ␈↓ εx␈↓each␈α⊂must␈α⊂know␈α⊂a␈α⊂certain␈α⊂"public"␈α∂language.
                                           ␈↓ εx␈↓Thus␈α↔we␈α↔will␈α_attempt␈α↔to␈α↔make␈α_a␈α↔general
␈↓ ↓H␈↓α␈↓ β&3.  Protocols                              ␈↓ εx␈↓format␈α⊂for␈α∂requests,␈α⊂questions,␈α⊂and␈α∂assertions
                                           ␈↓ εx␈↓suitable␈α∞for␈α
communication␈α∞between␈α
computer
␈↓ ↓H␈↓In␈α∃order␈α∃to␈α∃make␈α∃these␈α∃facilities␈α∃available,     ␈↓ εx␈↓programs.␈α⊃ We␈α⊃will␈α⊃study␈α⊃how␈α⊃to␈α∩make␈α⊃this
␈↓ ↓H␈↓suitable␈α
protocols␈α
must␈α
be␈α
designed,␈α
and␈αin␈α
the   ␈↓ εx␈↓mesh␈α⊃with␈α⊃communication␈α⊃between␈α⊃computer
␈↓ ↓H␈↓course␈αof␈αthis,␈αa␈αnumber␈αof␈αtechnical␈αproblems    ␈↓ εx␈↓programs and people.
␈↓ ↓H␈↓have␈α_to␈α_be␈α_solved.␈α_ Besides␈α_the␈α_protocols
␈↓ ↓H␈↓themselves,␈α3which␈α3are␈α2communication
␈↓ ↓H␈↓procedures␈αand␈αdata␈αstructures,␈αthere␈αwill␈αbe␈αa   ␈↓ εx␈↓α␈↓ λ*4.  Research Issues
␈↓ ↓H␈↓recommended␈α⊂set␈α∂of␈α⊂terminal-level␈α∂commands
␈↓ ↓H␈↓with␈α∃syntax␈α⊗prompting␈α∃and␈α⊗standard␈α∃error        ␈↓ εx␈↓        There␈αare␈αmany␈αresearch␈αissues,␈αand␈αwe
␈↓ ↓H␈↓messages.                                  ␈↓ εx␈↓don't␈α∂expect␈α∂to␈α∂settle␈α∂all␈α∂of␈α∂them␈α∂in␈α∂the␈α∞time
                                           ␈↓ εx␈↓and␈α→with␈α→the␈α→resources␈α→requested␈α~in␈α→this
␈↓ ↓H␈↓We␈α∩believe␈α∩that␈α∩we␈α∩have␈α∩the␈α∩experience␈α∩to         ␈↓ εx␈↓proposal.␈α
 Since␈α
we␈α
expect␈α
many␈α
of␈α
the␈α
issues
␈↓ ↓H␈↓produce␈α
a␈α∞set␈α
of␈α∞workable␈α
protocols,␈α∞and␈α
that     ␈↓ εx␈↓will␈α
be␈α
clari≡ed␈α
by␈α
the␈α∞initial␈α
implementation,
␈↓ ↓H␈↓it␈α∩is␈α∪better␈α∩to␈α∪start␈α∩with␈α∪an␈α∩implementation      ␈↓ εx␈↓we␈α∪will␈α∪concentrate␈α∪on␈α∪getting␈α∪a␈α∪reasonable
␈↓ ↓H␈↓than␈α∃to␈α⊗standardize␈α∃something␈α⊗that␈α∃doesn't      ␈↓ εx␈↓≡rst implementation into experimental use.
␈↓ ↓H␈↓exist.␈α The␈α
latter␈αprocedure␈α
in␈αrecent␈αyears␈α
has
␈↓ ↓H␈↓led␈α∀to␈α∀gold-plating␈α∀the␈α∀requirements␈α∃to␈α∀the      ␈↓ εx␈↓        Here␈α∃are␈α∀some␈α∃of␈α∀the␈α∃issues␈α∃we␈α∀will
␈↓ ↓H␈↓extent that the standard is not implementable.␈↓ εx␈↓study:

␈↓ ↓H␈↓We␈α⊃propose␈α⊂to␈α⊃devise␈α⊂suitable␈α⊃protocols,␈α⊂test    ␈↓ εx␈↓1.␈αWhat␈αerror␈αcorrection␈αfacilities␈αare␈αrequired
␈↓ ↓H␈↓them␈αat␈αa␈αfew␈αsites,␈αpublish␈αthem,␈αand␈αattempt     ␈↓ εx␈↓to␈α⊂make␈α⊂up␈α⊃for␈α⊂the␈α⊂de≡ciencies␈α⊃of␈α⊂telephone
␈↓ ↓H␈↓to␈α∪convince␈α∪other␈α∪installations␈α∪to␈α∩implement    ␈↓ εx␈↓lines?
␈↓ ↓H␈↓them.␈α
 Almost␈α
certainly,␈α
initial␈α
experience␈αwill
␈↓ ↓H␈↓produce␈α≤a␈α≤requirement␈α≤for␈α≤changes,␈α≤and          ␈↓ εx␈↓2.␈α∂What␈α∂is␈α∂the␈α∂minimal␈α∂necessary␈α∂burden␈α∂on
␈↓ ↓H␈↓standardization␈α
committees␈αwill␈α
be␈αformed␈α
and   ␈↓ εx␈↓the␈α∩time-sharing␈α∩computers␈α∩carrying␈α∩out␈α∩the
␈↓ ↓H␈↓set␈α#to␈α#work.␈α$ A␈α#likely␈α#forum␈α$for␈α#a                ␈↓ εx␈↓communication?␈α& What␈α&is␈α&the␈α%trade-o≥
␈↓ ↓H␈↓standardization␈α∩e≥ort␈α∩would␈α∩be␈α∩through␈α⊃the      ␈↓ εx␈↓between bu≥er size and compute time?
␈↓ ↓H␈↓ACM␈α∀to␈α∀the␈α∀American␈α∃National␈α∀Standards
␈↓ ↓H␈↓Committee.                                 ␈↓ εx␈↓3.␈α
Can␈αdial-up␈α
telephone␈α
communication␈αrates
                                           ␈↓ εx␈↓meet␈α∀most␈α∀of␈α∀the␈α∀needs␈α∀for␈α∀communication
␈↓ ↓H␈↓We␈α$propose␈α$to␈α$allow␈α$interaction␈α#with            ␈↓ εx␈↓between␈α≥computers␈α≥belonging␈α≡to␈α≥di≥erent
␈↓ ↓H␈↓ARPAnet␈α→sites␈α_via␈α→TIPs␈α_and␈α→propose␈α_to            ␈↓ εx␈↓research organizations?
␈↓ ↓H␈↓discuss␈α⊃with␈α∩ARPA␈α⊃and␈α⊃DCA␈α∩whether␈α⊃this
␈↓ ↓H␈↓will be allowed.                           ␈↓ εx␈↓4.␈α
What␈αis␈α
the␈αbest␈α
way␈α
to␈αhandle␈α
the␈αfact␈α
that
                                           ␈↓ εx␈↓di≥erent␈α∞modem␈α∞speeds␈α∞have␈α∞di≥erent␈α
prices?
␈↓ ↓H␈↓The␈α⊃most␈α⊃general␈α⊃use␈α⊃of␈α⊃Dialnet␈α⊃involves␈α⊃a        ␈↓ εx␈↓Should␈αone␈αstrive␈αfor␈αa␈αstandard␈αspeed␈αor␈αcan
␈↓ ↓H␈↓program␈α∩in␈α∪one␈α∩computer␈α∩"waking␈α∪up"␈α∩and          ␈↓ εx␈↓a wide variety be easily accomodated?
␈↓ ↓H␈↓interacting␈α!with␈α!a␈α!program␈α!in␈α another
␈↓ ↓H␈↓machine.␈α
 Dialnet␈α
protocols␈α
will␈αhandle␈α
human   ␈↓ εx␈↓5.␈α_How␈α_will␈α_the␈α→improved␈α_communication
␈↓ ↓H␈↓messages␈α∃as␈α∃a␈α∃subcase␈α∃of␈α∃this,␈α⊗taking␈α∃into        ␈↓ εx␈↓a≥ect␈α∩research?␈α∩ Since␈α∩changes␈α∩will␈α∩be␈α∩slow,
␈↓ ↓H␈↓account␈αthe␈αfact␈αthat␈αthe␈αsubcase␈αwill␈αhave␈αthe    ␈↓ εx␈↓how␈α
can␈α∞we␈α
tell␈α
as␈α∞early␈α
as␈α
possible␈α∞what␈α
the
␈↓ ↓H␈↓most␈α∃application␈α∃for␈α⊗a␈α∃long␈α∃time␈α⊗to␈α∃come.         ␈↓ εx␈↓e≥ects will be?
␈↓ ↓H␈↓Messages␈α∩about␈α∪where␈α∩to␈α∩deliver␈α∪a␈α∩message
␈↓ ↓H␈↓sent␈α
by␈α
one␈α
time-sharing␈α
system␈α
to␈α
another␈α
will   ␈↓ εx␈↓6.␈α∞What␈α∞style␈α∞of␈α∞interaction␈α∞is␈α∂convenient␈α∞for
␈↓ ↓H␈↓be␈α∂handled␈α∂as␈α∂a␈α∂special␈α∂sort␈α∂of␈α⊂message␈α∂that       ␈↓ εx␈↓both␈α↔experienced␈α↔and␈α_inexperienced␈α↔users?
␈↓ ↓H␈↓αOriginal Dialnet Proposal␈↓ ¬hResearch Issues␈↓ I5


␈↓ ↓H␈↓How␈α∩can␈α⊃communication␈α∩programs␈α∩be␈α⊃made
␈↓ ↓H␈↓self-teaching without being cumbersome?
␈↓ ↓H␈↓α␈↓ εP␈↓ J6


␈↓ ↓H␈↓α␈↓ β&Appendix B                                 ␈↓ εx␈↓necessary␈α∂byte␈α∂framing,␈α∞but␈α∂otherwise␈α∂has␈α∞no
␈↓ ↓H␈↓α␈↓ α{Basic line protocol                        ␈↓ εx␈↓error␈α
correction␈α
facilities.␈α
 At␈α
this␈α
writing,␈α
the
                                           ␈↓ εx␈↓modem␈α≡type␈α≡used␈α≡are␈α≡VADIC␈α≡VA3405
␈↓ ↓H␈↓↓␈↓ β
by Mark Crispin                            ␈↓ εx␈↓1200/1200␈α∨baud␈α∨full␈α∨duplex␈α≡asyncronous
                                           ␈↓ εx␈↓modems.

␈↓ ↓H␈↓α␈↓ β⊂5.  Conventions                            ␈↓ εx␈↓Next␈α∂is␈α⊂the␈α∂␈↓↓host-host␈↓␈α⊂layer,␈α∂which␈α⊂breaks␈α∂the
                                           ␈↓ εx␈↓data␈α∀stream␈α∀into␈α∀chunks,␈α∀or␈α∀␈↓↓packets␈↓.␈α∪ Each
␈↓ ↓H␈↓All␈αnumbers␈αwithout␈αan␈αexplicit␈αbase␈αspeci≡ed    ␈↓ εx␈↓packet␈αis␈αchecksummed␈αand␈αsequenced,␈αso␈αthat
␈↓ ↓H␈↓(i.e.,␈αoctal␈αor␈αdecimal)␈αshould␈αbe␈αinterpreted␈αas ␈↓ εx␈↓retransmission␈αcan␈αbe␈αdone␈αon␈αa␈αpacket␈αwhose
␈↓ ↓H␈↓octal␈α∨unless␈α the␈α∨number␈α is␈α∨immediately          ␈↓ εx␈↓previous␈α∂transmission␈α⊂was␈α∂corrupted␈α⊂in␈α∂some
␈↓ ↓H␈↓followed by a dot, in which case it is decimal.␈↓ εx␈↓way.␈α⊃ Many␈α⊃systems␈α⊃may␈α⊃want␈α⊃to␈α⊂implement
                                           ␈↓ εx␈↓this␈α∃layer␈α∃in␈α∀their␈α∃operating␈α∃system,␈α∃so␈α∀all
␈↓ ↓H␈↓All␈α≡three-digit␈α≡octal␈α≡numbers␈α≡should␈α≥be         ␈↓ εx␈↓␈↓↓Dialnet␈↓␈α
user␈α
programs␈α
will␈α
behave␈α
at␈α
this␈α
level
␈↓ ↓H␈↓interpreted␈αas␈αrepresenting␈αan␈α8.-bit␈αbyte,␈αwith ␈↓ εx␈↓in the same manner.
␈↓ ↓H␈↓bits␈αright-justi≡ed␈αwithin␈αthe␈αnumber␈α(ie,␈αfrom
␈↓ ↓H␈↓000␈α∞to␈α
377).␈α∞ Bytes␈α
are␈α∞expressed␈α
in␈α∞the␈α
form      ␈↓ εx␈↓Finally␈α∩comes␈α∪the␈α∩user-level␈α∪protocols.␈α∩ This
␈↓ ↓H␈↓as␈α∞returned␈α
by␈α∞the␈α
modem␈α∞(ie,␈α
lsb␈α∞≡rst␈α∞in␈α
the       ␈↓ εx␈↓includes␈α⊂≡le␈α∂transfer,␈α⊂mail,␈α⊂linking,␈α∂telnetting,
␈↓ ↓H␈↓data stream).                              ␈↓ εx␈↓etc.␈α≥ These␈α≤are␈α≥user-level␈α≥programs,␈α≤and
                                           ␈↓ εx␈↓␈↓↓Dialnet␈↓␈α≥has␈α≥been␈α≥designed␈α≥with␈α≥enough
␈↓ ↓H␈↓All␈α#six-digit␈α$octal␈α#numbers␈α$should␈α#be           ␈↓ εx␈↓∨exibility␈α∂to␈α∂allow␈α∂for␈α∂users␈α∂to␈α∂create␈α∂private
␈↓ ↓H␈↓interpreted␈α∩as␈α∪representing␈α∩a␈α∪16.-bit␈α∩double-   ␈↓ εx␈↓protocols of their own.
␈↓ ↓H␈↓byte,␈α≡with␈α≡bits␈α≡right-justi≡ed␈α≡within␈α≥the
␈↓ ↓H␈↓number␈α
(ie,␈α
from␈α
000000␈α
to␈α
177777).␈α
 Double-     ␈↓ εx␈↓Questions␈αconcerning␈α␈↓↓Dialnet␈↓␈αprotocols␈αshould
␈↓ ↓H␈↓bytes␈α⊂are␈α⊂expressed␈α⊂in␈α⊂the␈α⊂form␈α⊂returned␈α∂by       ␈↓ εx␈↓be addressed to:
␈↓ ↓H␈↓the␈αmodem␈α(ie,␈αlow␈α
order␈αbyte␈αand␈αlsb␈α≡rst);␈α
ie,
␈↓ ↓H␈↓010041 is transmitted as 041 020.          ␈↓ εx␈↓␈↓↓␈↓ λNMark Crispin
                                           ␈↓ εx␈↓↓␈↓ πZArti≡cial Intelligence Laboratory
                                           ␈↓ εx␈↓↓␈↓ πtStanford, California  94305
␈↓ ↓H␈↓α␈↓ β16.  Preface
                                           ␈↓ εx␈↓↓␈↓ λ≠Phone: (415) 491-4712
␈↓ ↓H␈↓␈↓↓␈↓ ↓\"Aren't you glad you use Dialnet?  Don't you ␈↓ εx␈↓↓␈↓ λARPAnet: MRC@SU-AI␈↓
␈↓ ↓H␈↓ αx␈↓↓wish everybody did?"␈↓ 
                                           ␈↓ εx␈↓Copies␈αof␈αall␈αcorrespondence␈αshould␈αbe␈αsent␈αto
␈↓ ↓H␈↓␈↓↓Dialnet␈↓␈α8provides␈α8a␈α8capability␈α8for              ␈↓ εx␈↓John␈αMcCarthy␈αand␈αLes␈αEarnest␈αat␈αthe␈αabove
␈↓ ↓H␈↓geographically␈α≡separated␈α∨computers,␈α≡called    ␈↓ εx␈↓US␈α∀mail␈α∀address␈α∪or␈α∀via␈α∀ARPAnet␈α∀mail␈α∪to
␈↓ ↓H␈↓␈↓↓hosts␈↓,␈α⊂to␈α⊃communicate␈α⊂with␈α⊂each␈α⊃other.␈α⊂ The      ␈↓ εx␈↓JMC@SU-AI and LES@SU-AI.
␈↓ ↓H␈↓host␈α≥computers␈α≤typically␈α≥di≥er␈α≥from␈α≤one
␈↓ ↓H␈↓another␈αin␈α
type,␈αspeed,␈αword␈α
length,␈αoperating   ␈↓ εx␈↓It␈α
is␈α
the␈αauthor's␈α
intent␈α
that␈α
these␈αprotocols␈α
are
␈↓ ↓H␈↓system,␈α
etc.␈α
 Each␈α
computer␈α
utilizes␈α␈↓↓Dialnet␈↓␈α
via ␈↓ εx␈↓both␈α~simple␈α≠in␈α~their␈α≠implementation␈α~and
␈↓ ↓H␈↓ordinary phone lines and special modems.   ␈↓ εx␈↓powerful␈α≠in␈α≠their␈α≠operation.␈α≠ Certainly␈α≠a
                                           ␈↓ εx␈↓major␈α→design␈α→consideration␈α→was␈α→to␈α→design
␈↓ ↓H␈↓As␈α in␈α many␈α other␈α data␈α∨communication             ␈↓ εx␈↓protocols␈α*that␈α*ordinary␈α+mortals␈α*could
␈↓ ↓H␈↓schemes,␈αa␈αlayered␈αapproach␈αhas␈αbeen␈αselected    ␈↓ εx␈↓implement on their systems.
␈↓ ↓H␈↓in␈α∂the␈α∂design␈α∂of␈α∂the␈α∂Dialnet␈α∂protocols.␈α∂ Each
␈↓ ↓H␈↓layer␈α⊗sees␈α⊗the␈α⊗immediate␈α⊗lower␈α⊗layer␈α⊗as␈α∃a
␈↓ ↓H␈↓"black␈α
box"␈αand␈α
need␈αnot␈α
be␈α
concerned␈αabout
␈↓ ↓H␈↓its␈α∞internal␈α∞structure.␈α∞ The␈α∞lowest␈α∞layer␈α∞is␈α∞the
␈↓ ↓H␈↓line␈α⊂protocol␈α∂of␈α⊂the␈α∂modems,␈α⊂which␈α∂transfers
␈↓ ↓H␈↓data␈α∃bytes␈α∃over␈α∃the␈α∃phone␈α∃lines␈α⊗and␈α∃does
␈↓ ↓H␈↓αBasic line protocol␈↓ εP␈↓ J7


␈↓ ↓H␈↓α␈↓ αd7.  Host-Host Protocol                     ␈↓ εx␈↓seconds␈α∞or␈α∞so.␈α∂ This␈α∞assures␈α∞the␈α∂receiver␈α∞that
                                           ␈↓ εx␈↓the␈αsender␈αis␈αstill␈αup,␈αand␈αserves␈αto␈αinform␈αthe
␈↓ ↓H␈↓All␈αdata␈α
is␈αsent␈αin␈α
the␈αform␈αof␈α
packets,␈αwhich      ␈↓ εx␈↓receiver␈α∩if␈α∪any␈α∩of␈α∪its␈α∩pending␈α∪packets␈α∩were
␈↓ ↓H␈↓contain␈α∞a␈α∞␈↓↓packet␈α∞header␈↓,␈α∞optional␈α∞␈↓↓data␈↓,␈α∞and␈α∞a     ␈↓ εx␈↓missed.␈α∩ However,␈α⊃if␈α∩the␈α⊃sender␈α∩has␈α⊃packets
␈↓ ↓H␈↓␈↓↓packet␈α∩trailer␈↓.␈α∩ The␈α⊃packet␈α∩header␈α∩serves␈α⊃to     ␈↓ εx␈↓waiting␈α"to␈α"be␈α"acknowledged,␈α"it␈α"should
␈↓ ↓H␈↓identify␈α
the␈αtype␈α
of␈αpacket,␈α
the␈αsize␈α
of␈αthe␈α
data   ␈↓ εx␈↓retransmit␈α0the␈α0last␈α0packet␈α0on␈α0the
␈↓ ↓H␈↓area␈α⊃and␈α⊃provides␈α⊃information␈α⊃necessary␈α⊂for     ␈↓ εx␈↓acknowledgement␈α_pending␈α_list.␈α_ This␈α_is␈α_to
␈↓ ↓H␈↓data␈α∩∨ow␈α∪and␈α∩error␈α∩correction.␈α∪ The␈α∩packet       ␈↓ εx␈↓avoid␈α
a␈α∞possible␈α
deadlock␈α
which␈α∞occurs␈α
when
␈↓ ↓H␈↓trailer␈α∪provides␈α∪a␈α∪checksum␈α∪for␈α∀the␈α∪packet.      ␈↓ εx␈↓the␈α
last␈α
packet␈α
before␈αthe␈α
sending␈α
goes␈α
idle␈αis
␈↓ ↓H␈↓Packets␈αare␈αframed␈α
at␈αeach␈αend␈α
with␈αa␈α␈↓↓start␈α
of      ␈↓ εx␈↓lost.
␈↓ ↓H␈↓↓packet␈↓ and an ␈↓↓end of packet␈↓ marker.
                                           ␈↓ εx␈↓A␈α∩properly␈α⊃received␈α∩packet␈α⊃with␈α∩a␈α⊃non-zero
␈↓ ↓H␈↓The␈α∂bytes␈α∂which␈α⊂indicate␈α∂start␈α∂of␈α⊂packet␈α∂are      ␈↓ εx␈↓packet␈α
number␈α
must␈α
be␈α
acknowledged␈α
for␈α
the
␈↓ ↓H␈↓called␈α∞SOP,␈α∞and␈α
consist␈α∞of␈α∞ASCII␈α∞DLE␈α
(220)        ␈↓ εx␈↓sender␈α⊂to␈α⊂know␈α⊂that␈α⊂the␈α⊂receiver␈α∂successfully
␈↓ ↓H␈↓followed␈α∪by␈α∪STX␈α∪(202);␈α∪similarly,␈α∀the␈α∪bytes      ␈↓ εx␈↓received␈α
the␈α
packet␈αand␈α
to␈α
release␈α
that␈αpacket
␈↓ ↓H␈↓which␈α
indicate␈α
end␈αof␈α
packet␈α
are␈α
called␈αEOP,      ␈↓ εx␈↓from␈α≤the␈α≤window.␈α≤ Each␈α≤packet␈α≤has␈α≠an
␈↓ ↓H␈↓and␈α∞are␈α
ASCII␈α∞DLE␈α
followed␈α∞by␈α∞ETX␈α
(203).          ␈↓ εx␈↓acknowledgement␈α∂byte␈α∂which␈α∂is␈α∂used␈α∂for␈α∞this
␈↓ ↓H␈↓Note␈αthat␈αthe␈α200␈αbit␈αis␈α␈↓↓on␈↓␈αin␈αDLE,␈αSTX,␈αand         ␈↓ εx␈↓purpose.␈α⊃ This␈α⊂byte␈α⊃in␈α⊂a␈α⊃packet␈α⊂sent␈α⊃by␈α⊂the
␈↓ ↓H␈↓ETX.␈α If␈αa␈α220␈αbyte␈αis␈αto␈αbe␈αsent,␈αit␈α
is␈αquoted       ␈↓ εx␈↓receiver␈α⊃contains␈α⊃the␈α⊃number␈α⊃of␈α∩the␈α⊃highest
␈↓ ↓H␈↓by␈α≥being␈α≥sent␈α≥twice.␈α≥ DLE␈α≥followed␈α≥by            ␈↓ εx␈↓successfully␈αreceived␈αpacket.␈α Acknowledging␈αa
␈↓ ↓H␈↓anything␈α⊂other␈α⊂than␈α⊂STX,␈α⊂ETX,␈α⊂or␈α⊃DLE␈α⊂is           ␈↓ εx␈↓packet␈α?␈αλimplies␈α?␈α	acknowledging␈α?␈αλall
␈↓ ↓H␈↓currently␈α→unde≡ned;␈α→any␈α→such␈α_combination       ␈↓ εx␈↓unacknowledged␈α_packets␈α↔with␈α_lower␈α↔packet
␈↓ ↓H␈↓when␈α
received␈α
should␈αbe␈α
discarded.␈α
 020,␈α002,    ␈↓ εx␈↓numbers,␈α≠therefore␈α≠a␈α≤successfully␈α≠received
␈↓ ↓H␈↓and␈α
003␈α
are␈α
␈↓↓not␈↓␈α
considered␈α
to␈α
be␈α∞DLE,␈α
STX,         ␈↓ εx␈↓packet␈α∀can␈α∀merely␈α∀set␈α∀the␈α∀acknowledgement
␈↓ ↓H␈↓and ETX.                                   ␈↓ εx␈↓byte␈α⊃for␈α⊃the␈α⊃next␈α⊃packet␈α⊃to␈α⊃be␈α∩sent␈α⊃without
                                           ␈↓ εx␈↓actually forcing a packet to be sent.
␈↓ ↓H␈↓All␈α
packets␈α
have␈α∞a␈α
packet␈α
number,␈α∞which␈α
for
␈↓ ↓H␈↓most␈α∞packets␈α
starts␈α∞at␈α
001␈α∞and␈α∞is␈α
incremented     ␈↓ εx␈↓Packets␈α
must␈αbe␈α
received␈αin␈α
sequence,␈αwith␈α
the
␈↓ ↓H␈↓with␈α∩each␈α∩packet␈α∩sent.␈α∩ The␈α∪packet␈α∩number        ␈↓ εx␈↓exception␈α∞of␈α∞packets␈α∞with␈α∞packet␈α∞number␈α
000
␈↓ ↓H␈↓wraps␈α⊃around␈α⊃to␈α⊃001␈α⊃from␈α⊃377.␈α⊃ Up␈α∩to␈α⊃two           ␈↓ εx␈↓(see␈α
above).␈α
 If␈αthe␈α
receiver␈α
receives␈α
a␈αpacket␈α
it
␈↓ ↓H␈↓(the␈α
default␈αwindow␈α
size)␈αpackets␈α
may␈α
be␈αsent     ␈↓ εx␈↓has␈αalready␈αacknowledged␈αit␈αshould␈αdiscard␈αit.
␈↓ ↓H␈↓before␈αan␈αacknowledgement␈αis␈αreceived␈α
for␈α(at    ␈↓ εx␈↓Packets␈α≥which␈α≤have␈α≥a␈α≥sequence␈α≤number
␈↓ ↓H␈↓least)␈α∀the␈α∃≡rst␈α∀packet.␈α∀ The␈α∃window␈α∀begins       ␈↓ εx␈↓higher␈α∂than␈α∂the␈α∂expected␈α∂packet␈α∂and␈α∞packets
␈↓ ↓H␈↓with␈α)the␈α)≡rst␈α)unacknowledged␈α(packet;           ␈↓ εx␈↓with␈α∞incorrect␈α∂checksum␈α∞should␈α∂be␈α∞discarded,
␈↓ ↓H␈↓therefore␈α⊗the␈α⊗window␈α⊗size␈α⊗is␈α⊗an␈α∃allocation       ␈↓ εx␈↓and␈α
a␈α
NAK␈α∞sent␈α
for␈α
the␈α
expected␈α∞packet.␈α
 In
␈↓ ↓H␈↓which␈α⊂is␈α∂used␈α⊂up␈α∂as␈α⊂packets␈α∂are␈α⊂sent␈α⊂and␈α∂is         ␈↓ εx␈↓the␈α∃event␈α∀of␈α∃a␈α∀framing␈α∃error,␈α∃the␈α∀receiver
␈↓ ↓H␈↓given back as packets are acknowledged.    ␈↓ εx␈↓should␈α⊗discard␈α⊗all␈α⊗input␈α⊗until␈α⊗an␈α⊗SOP␈α⊗is
                                           ␈↓ εx␈↓encountered␈α∞in␈α∞the␈α∞input␈α∞stream.␈α∞ If␈α∂a␈α∞packet
␈↓ ↓H␈↓Some␈α⊗packets␈α⊗(ie,␈α⊗NOP,␈α⊗NAK,␈α⊗and␈α⊗ERR)             ␈↓ εx␈↓is␈α∀discarded␈α∀for␈α∀being␈α∀out␈α∀of␈α∃sequence,␈α∀its
␈↓ ↓H␈↓have␈α
a␈α
packet␈α
number␈α
of␈α
000.␈α
 These␈αpackets       ␈↓ εx␈↓acknowledgement␈α∃byte␈α∃should␈α∃still␈α∃be␈α∃used,
␈↓ ↓H␈↓do␈αnot␈αcount␈α
against␈αthe␈αwindow,␈αand␈α
are␈αnot       ␈↓ εx␈↓otherwise␈α%an␈α%acknowledgement␈α%may␈α$be
␈↓ ↓H␈↓remembered␈α∂for␈α∞retransmission␈α∂after␈α∂they␈α∞are    ␈↓ εx␈↓unnecessarily missed.
␈↓ ↓H␈↓sent.␈α
 Therefore␈α
they␈α
are␈α
lost␈α
if␈α
an␈α
error␈α
occurs
␈↓ ↓H␈↓while␈α⊗they␈α⊗are␈α⊗being␈α⊗transmitted.␈α⊗ This␈α⊗is       ␈↓ εx␈↓In␈α∨␈↓↓Dialnet␈↓,␈α∨the␈α∨window␈α∨is␈α∨␈↓↓optional␈↓;␈α≡in
␈↓ ↓H␈↓because␈α~what␈α≠information␈α~they␈α≠convey␈α~is         ␈↓ εx␈↓particular,␈α∂an␈α∂implementation␈α∂which␈α∂uses␈α∂the
␈↓ ↓H␈↓generally␈α
timing-critical;␈α
if␈α
the␈α
packet␈α
was␈αlost␈↓ εx␈↓window␈α↔should␈α↔not␈α↔get␈α↔upset␈α_because␈α↔the
␈↓ ↓H␈↓nothing would be gained by sending it again.␈↓ εx␈↓foreign␈α↔host␈α↔disobeys␈α↔it␈α↔(it␈α↔can␈α↔of␈α↔course
                                           ␈↓ εx␈↓neglect␈α∪to␈α∪acknowledge␈α∪packets␈α∀which␈α∪cause
␈↓ ↓H␈↓If␈α
the␈α
sender␈α∞intends␈α
to␈α
temporarily␈α∞"go␈α
idle",   ␈↓ εx␈↓data␈α⊂overruns␈α∂and␈α⊂force␈α∂them␈α⊂to␈α⊂be␈α∂re-sent).
␈↓ ↓H␈↓it␈α∪should␈α∪send␈α∪a␈α∪NOP,␈α∪repeated␈α∪every␈α∩≡ve          ␈↓ εx␈↓However,␈α
any␈α∞implementation␈α
which␈α∞is␈α
trying
␈↓ ↓H␈↓αBasic line protocol␈↓ ¬QHost-Host Protocol␈↓ I8


␈↓ ↓H␈↓to␈αbe␈αreasonably␈αe≠cient␈αshould␈αdo␈αsomething     ␈↓ εx␈↓The␈αmotivation␈α
for␈αthis␈α
is␈αthat␈α
a␈αpower␈αof␈α
two
␈↓ ↓H␈↓about␈α≤handling␈α≤windows␈α≤and␈α≤telling␈α≤the          ␈↓ εx␈↓is␈α↔a␈α⊗convenient␈α↔unit␈α⊗of␈α↔storage␈α↔for␈α⊗many
␈↓ ↓H␈↓foreign␈α∂host␈α∂what␈α∂sort␈α∂of␈α∂window␈α∂size␈α∂it␈α∞can       ␈↓ εx␈↓systems.␈α∪ In␈α∪addition,␈α∀many␈α∪implementations
␈↓ ↓H␈↓live with.                                 ␈↓ εx␈↓will␈α≡nd␈αit␈αconvenient␈αto␈αpack␈αfour␈α
data␈αbytes
                                           ␈↓ εx␈↓in␈α∂a␈α∂single␈α∂storage␈α∂word.␈α∂ With␈α∂framing␈α∞and
␈↓ ↓H␈↓There␈α→is␈α→no␈α→o≠cial␈α→timeout␈α→for␈α→deciding          ␈↓ εx␈↓DLE␈α⊃doubling␈α⊃stripped,␈α⊃this␈α⊃means␈α⊃that␈α⊂the
␈↓ ↓H␈↓whether␈α⊃a␈α⊃host␈α∩is␈α⊃still␈α⊃alive␈α⊃or␈α∩whether␈α⊃the       ␈↓ εx␈↓packet␈α↔header␈α↔will␈α↔be␈α↔exactly␈α_one␈α↔storage
␈↓ ↓H␈↓phone␈α≠connection␈α≤is␈α≠poor␈α≠enough␈α≤to␈α≠be            ␈↓ εx␈↓word,␈α⊗and␈α⊗the␈α⊗data␈α⊗part␈α⊗will␈α⊗begin␈α⊗on␈α∃a
␈↓ ↓H␈↓unusable.␈α≠ Each␈α≠implementor␈α≤must␈α≠decide        ␈↓ εx␈↓storage␈α
word␈αboundary.␈α
 In␈αaddition,␈α
the␈αdata
␈↓ ↓H␈↓these for him/herself.                     ␈↓ εx␈↓part␈α∂of␈α∂a␈α∂maximum-size␈α∂packet␈α∂will␈α∂also␈α∂end
                                           ␈↓ εx␈↓on␈α∀a␈α∀storage␈α∃word.␈α∀ This␈α∀is␈α∃signi≡cant␈α∀for
␈↓ ↓H␈↓The␈α∩packet␈α∩checksum␈α⊃algorithm␈α∩used␈α∩is␈α⊃the        ␈↓ εx␈↓many␈αsystems␈αin␈αterms␈αof␈αbu≥ering;␈αwhether␈αa
␈↓ ↓H␈↓result␈α∀of␈α∃a␈α∀conversation␈α∀with␈α∃Knuth.␈α∀ The        ␈↓ εx␈↓byte-by-byte␈α∩copy␈α∪must␈α∩be␈α∪done␈α∩or␈α∪a␈α∩faster
␈↓ ↓H␈↓checksum␈αis␈α16.␈αbits␈αlong␈αand␈αall␈αof␈αthe␈αpacket     ␈↓ εx␈↓word␈α∩transfer.␈α∩ The␈α∩PDP-10␈α∩implementation
␈↓ ↓H␈↓header␈α
variables␈α∞and␈α
the␈α∞entire␈α
data␈α∞area.␈α
 It    ␈↓ εx␈↓at␈α Stanford␈α exploits␈α this;␈α!an␈α IBM-style
␈↓ ↓H␈↓does␈α⊃NOT␈α⊃include␈α⊃the␈α⊃packet␈α⊃trailer␈α⊃or␈α⊃the        ␈↓ εx␈↓machine can derive similar bene≡t.
␈↓ ↓H␈↓SOP/EOP␈α∩packet␈α⊃framing␈α∩codes.␈α∩ Note␈α⊃that
␈↓ ↓H␈↓framing␈α∩checks␈α∩happen␈α∩␈↓↓before␈↓␈α∪the␈α∩checksum       ␈↓ εx␈↓In␈α⊂the␈α⊂CLS,␈α∂NAK,␈α⊂EOF,␈α⊂and␈α⊂INT␈α∂op-codes
␈↓ ↓H␈↓check.                                     ␈↓ εx␈↓the␈α⊃data␈α⊃byte␈α∩is␈α⊃meaningless␈α⊃and␈α∩should␈α⊃be
                                           ␈↓ εx␈↓ignored,␈α↔however,␈α↔it␈α↔still␈α↔must␈α↔be␈α⊗present.
␈↓ ↓H␈↓The␈αalgorithm␈αis:␈α(all␈αnumbers␈αshould␈αbe␈αread     ␈↓ εx␈↓Additionally,␈α∞this␈α
byte␈α∞should␈α
always␈α∞be␈α
zero,
␈↓ ↓H␈↓as octal)                                  ␈↓ εx␈↓to␈α
allow␈α
these␈α
op␈α
codes␈α
to␈α
have␈α∞a␈α
meaningful
                                           ␈↓ εx␈↓data part in a future revision of the protocol.
␈↓ ↓H␈↓␈↓ ↓hchecksum := 1;
␈↓ ↓H␈↓␈↓ ↓hwhile newchar do checksum := (checksum *   ␈↓ εx␈↓There␈α
are␈α
no␈α
restrictions␈α
on␈α
the␈α
size␈αor␈α
content
␈↓ ↓H␈↓␈↓ αh013215 + newchar) & 177777;                ␈↓ εx␈↓of␈α
the␈αdata␈α
part␈αof␈α
a␈αNOP␈α
packet,␈α
except␈αthe
                                           ␈↓ εx␈↓packet␈α↔structure␈α↔restriction␈α↔that␈α⊗1≤size≤256.
␈↓ ↓H␈↓In PDP-10 assembly code, this would be:    ␈↓ εx␈↓Since,␈α∪however,␈α∪the␈α∪data␈α∪is␈α∪ignored␈α∀by␈α∪the
                                           ␈↓ εx␈↓receiver,␈α
a␈α
NOP␈α
packet␈α
would␈α
generally␈α
have
␈↓ ↓H␈↓
; CHKBYT adds a byte to the checksum       ␈↓ εx␈↓a␈α⊃one-byte␈α⊃data␈α⊂part,␈α⊃although␈α⊃some␈α⊂systems
␈↓ ↓H␈↓
in SUM.                                    ␈↓ εx␈↓might␈α∞want␈α∞to␈α∞pad␈α∞to␈α∞4␈α∞data␈α∞bytes␈α∞(note␈α
that
␈↓ ↓H␈↓
; At the beginning of each packet SUM      ␈↓ εx␈↓this␈α
means␈α
the␈α∞size␈α
≡eld␈α
in␈α
the␈α∞packet␈α
header
␈↓ ↓H␈↓
is                                         ␈↓ εx␈↓is 3!) to keep things on word boundaries.
␈↓ ↓H␈↓
; initialized to 1.
␈↓ ↓H␈↓
; Call: MOVE CHR,<byte from data
␈↓ ↓H␈↓
stream>
␈↓ ↓H␈↓
;       PUSHJ P,CHKBYT
␈↓ ↓H␈↓
;       <return>
␈↓ ↓H␈↓
CHKBYT: IMULI SUM,013215
␈↓ ↓H␈↓
        ADDI SUM,(CHR)
␈↓ ↓H␈↓
        ANDI SUM,177777
␈↓ ↓H␈↓
        POPJ P,

␈↓ ↓H␈↓There␈α
is␈αalways␈α
at␈αleast␈α
one␈αword␈α
in␈α
the␈αdata
␈↓ ↓H␈↓part␈α∞of␈α∞the␈α∞packet.␈α
 The␈α∞data␈α∞part␈α∞size␈α
refers
␈↓ ↓H␈↓to␈αthe␈αnumber␈αof␈α␈↓↓additional␈↓␈αwords␈αin␈αthe␈αdata
␈↓ ↓H␈↓part.␈α⊂ Hence␈α⊂the␈α⊂data␈α⊂part␈α⊂can␈α⊂be␈α⊂␈↓↓from␈α⊂1␈α⊂to
␈↓ ↓H␈↓↓256␈↓␈α∪data␈α∪bytes␈α∪long.␈α∪ This␈α∪means␈α∀that␈α∪the
␈↓ ↓H␈↓"data␈α→size"␈α→≡eld␈α→in␈α→the␈α→packet␈α→header␈α→is
␈↓ ↓H␈↓actually ␈↓↓one less␈↓ than the actual data size.
␈↓ ↓H␈↓αBasic line protocol␈↓ ¬QHost-Host Protocol␈↓ J9


␈↓ ↓H␈↓α␈↓ β∃Packet Format                              ␈↓ εx␈↓001     RPC (Request Process Connection)
␈↓ ↓H␈↓
␈↓ ↓X____________________________________       ␈↓ εx␈↓␈↓ π_(optional) 8 bytes of process ID
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓␈↓ π_(optional) 1 byte of initial window size
␈↓ ↓H␈↓
␈↓ ↓X| 2 bytes    SOP framing mark      |
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓This␈α⊂is␈α⊃the␈α⊂establish␈α⊃connection␈α⊂op␈α⊃code.␈α⊂ It
␈↓ ↓H␈↓
␈↓ ↓X|==================================|       ␈↓ εx␈↓serves␈α∞a␈α∞dual␈α∞purpose;␈α∞to␈α∞request␈α
establishing
␈↓ ↓H␈↓
␈↓ ↓X|    Channel     |    Op Code      |       ␈↓ εx␈↓a␈α∪connection,␈α∀and␈α∪to␈α∪con≡rm␈α∀establishing␈α∪a
␈↓ ↓H␈↓
␈↓ ↓X|    (4 bits)    |    (4 bits)     |       ␈↓ εx␈↓connection.␈α∪ In␈α∪the␈α∪≡rst␈α∪case,␈α∪the␈α∪data␈α∪area
␈↓ ↓H␈↓
␈↓ ↓X|________________|_________________|       ␈↓ εx␈↓contains␈α∃an␈α∃8.-byte␈α∀␈↓↓process␈α∃ID␈↓,␈α∃which␈α∃is␈α∀a
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓handle␈α
to␈αthe␈α
remote␈αprocess␈α
the␈αsender␈α
wishes
␈↓ ↓H␈↓
␈↓ ↓X| 1 byte     Packet number         |       ␈↓ εx␈↓to␈αconnect␈αto.␈α In␈αthe␈αlatter␈αcase,␈αno␈αprocess␈αID
␈↓ ↓H␈↓
␈↓ ↓X|__________________________________|       ␈↓ εx␈↓is␈α∃speci≡ed.␈α∀ A␈α∃single␈α∀byte␈α∃may␈α∃follow␈α∀the
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓process ID to specify an initial window size.
␈↓ ↓H␈↓
␈↓ ↓X| 1 byte     Acknowledgement       |
␈↓ ↓H␈↓
␈↓ ↓X|__________________________________|       ␈↓ εx␈↓002     CLS (Close Connection)
␈↓ ↓H␈↓
␈↓ ↓X|                                  |
␈↓ ↓H␈↓
␈↓ ↓X| 1 byte     Data size             |       ␈↓ εx␈↓This␈α∂is␈α∂the␈α∂terminate␈α∂connection␈α∂op␈α∂code.␈α∂ It
␈↓ ↓H␈↓
␈↓ ↓X|==================================|       ␈↓ εx␈↓may␈αeither␈αterminate␈αan␈αexisting␈αconnection␈α
or
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓abort a request for one.
␈↓ ↓H␈↓
␈↓ ↓X| 1 byte     Data word             |
␈↓ ↓H␈↓
␈↓ ↓X|__________________________________|       ␈↓ εx␈↓003     WIN (set WINdow size)
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓␈↓ π_1 byte of window size
␈↓ ↓H␈↓
␈↓ ↓X| (specified                       |
␈↓ ↓H␈↓
␈↓ ↓X|  by data   Additional data bytes |       ␈↓ εx␈↓This␈αop␈αcode␈αsets␈αthe␈αinput␈αwindow␈αsize;␈αie,␈αit
␈↓ ↓H␈↓
␈↓ ↓X|  size byte)                      |       ␈↓ εx␈↓suggests␈α∂to␈α∂the␈α∂receiver␈α∂how␈α∂many␈α⊂packets␈α∂it
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓may␈α2send␈α2before␈α2waiting␈α3for␈α2an
␈↓ ↓H␈↓
␈↓ ↓X|==================================|       ␈↓ εx␈↓acknowledgement.␈α, The␈α,minimum␈α+(and
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓default)␈α≤window␈α≠size␈α≤is␈α≠2␈α≤packets.␈α≠ The
␈↓ ↓H␈↓
␈↓ ↓X| 2 bytes    Packet checksum       |       ␈↓ εx␈↓absolute␈α⊂maximum␈α⊂window␈α⊂is␈α⊃127.;␈α⊂however,
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓many␈α_systems␈α_may␈α_want␈α_to␈α_set␈α_a␈α↔smaller
␈↓ ↓H␈↓
␈↓ ↓X|==================================|       ␈↓ εx␈↓maximum␈α∩window.␈α⊃ At␈α∩Stanford,␈α∩the␈α⊃system
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓maximum is 16. packets.
␈↓ ↓H␈↓
␈↓ ↓X| 2 bytes    EOP framing mark      |
␈↓ ↓H␈↓
␈↓ ↓X|                                  |       ␈↓ εx␈↓004     MSG (MeSsaGe)
␈↓ ↓H␈↓
␈↓ ↓X|__________________________________|       ␈↓ εx␈↓␈↓ π_0 to 256. bytes of data

                                           ␈↓ εx␈↓This␈α⊂is␈α⊂the␈α⊂data␈α⊂transmission␈α⊂op␈α⊂code.␈α⊂ The
␈↓ ↓H␈↓α␈↓ αqHost-Host Op-Codes                         ␈↓ εx␈↓contents␈α∩of␈α∩the␈α∩data␈α⊃part␈α∩are␈α∩passed␈α∩to␈α⊃the
                                           ␈↓ εx␈↓tertiary process.
␈↓ ↓H␈↓In␈α∩the␈α⊃descriptions␈α∩below,␈α∩certain␈α⊃arguments
␈↓ ↓H␈↓are␈α∂passed␈α∂along␈α∞with␈α∂the␈α∂commands.␈α∞ These       ␈↓ εx␈↓005     NAK (Negative AcKnowledgment)
␈↓ ↓H␈↓arguments␈α∩are␈α∪listed␈α∩in␈α∪the␈α∩order␈α∪in␈α∩which
␈↓ ↓H␈↓they␈α⊂occur,␈α∂along␈α⊂with␈α∂their␈α⊂byte␈α⊂size.␈α∂ They     ␈↓ εx␈↓This␈α≠op␈α≠code␈α≠requests␈α≠that␈α≤the␈α≠receiver
␈↓ ↓H␈↓all occur in the DATA ≡eld of the packet.  ␈↓ εx␈↓retransmit␈α∞all␈α∞unacknowledged␈α∞packets␈α∂that␈α∞it
                                           ␈↓ εx␈↓sent.
␈↓ ↓H␈↓000     NOP (No-op)
                                           ␈↓ εx␈↓006     EOF (End Of File)
␈↓ ↓H␈↓This␈αop␈αcode␈αis␈αa␈αno-operation␈αand␈αshould␈αbe
␈↓ ↓H␈↓ignored␈αby␈αthe␈αreceiver␈αexcept␈αthat␈αthe␈αpacket    ␈↓ εx␈↓This␈α
op␈α
code␈α∞is␈α
used␈α
to␈α∞raise␈α
an␈α
"end␈α∞of␈α
≡le"
␈↓ ↓H␈↓still␈α∪has␈α∩to␈α∪be␈α∩acknowledged.␈α∪ It␈α∩is␈α∪used␈α∩to       ␈↓ εx␈↓condition␈α∂on␈α∂a␈α∂particular␈α∂channel␈α∂to␈α∂indicate
␈↓ ↓H␈↓acknowledge␈α
a␈α
packet␈α
without␈α
doing␈αanything     ␈↓ εx␈↓the end of a data stream.
␈↓ ↓H␈↓else.
␈↓ ↓H␈↓αBasic line protocol␈↓ ¬QHost-Host Protocol␈↓ >10


␈↓ ↓H␈↓007     INT (Interrupt)                    ␈↓ εx␈↓Otherwise,␈α∨S␈α accepts␈α∨the␈α connection␈α∨by
                                           ␈↓ εx␈↓sending␈α⊗an␈α⊗RPC␈α⊗back␈α⊗to␈α⊗U,␈α⊗with␈α↔a␈α⊗null
␈↓ ↓H␈↓This␈α⊂op␈α⊂code␈α⊂is␈α⊂used␈α⊂to␈α⊂raise␈α⊂an␈α∂"interrupt"       ␈↓ εx␈↓process␈α∀ID.␈α∀ The␈α∀connection␈α∀has␈α∀now␈α∀been
␈↓ ↓H␈↓condition␈α≠on␈α~a␈α≠particular␈α~channel.␈α≠ It␈α~is        ␈↓ εx␈↓established,␈α⊂and␈α⊃the␈α⊂process␈α⊃ID␈α⊂is␈α⊃no␈α⊂longer
␈↓ ↓H␈↓intended␈α⊂that␈α⊂a␈α⊂user␈α⊂process␈α⊂be␈α⊂informed␈α⊂of       ␈↓ εx␈↓used␈α_by␈α→the␈α_host-host␈α_protocol.␈α→ The␈α_two
␈↓ ↓H␈↓the␈α⊂interrupt␈α⊃twice;␈α⊂when␈α⊃it␈α⊂is␈α⊃received,␈α⊂and     ␈↓ εx␈↓processes␈α∂may␈α∂now␈α∞pass␈α∂data␈α∂back␈α∂and␈α∞forth
␈↓ ↓H␈↓when␈αit␈αoccurs␈αin␈αthe␈αdata␈αstream␈α(the␈αlatter␈αis    ␈↓ εx␈↓using the various Host-Host op codes.
␈↓ ↓H␈↓to␈α indicate␈α the␈α end␈α of␈α!the␈α "interrupt"
␈↓ ↓H␈↓condition).                                ␈↓ εx␈↓When␈αa␈αhost␈αwishes␈αto␈αterminate␈αa␈α
connection,
                                           ␈↓ εx␈↓it␈α∞sends␈α∂a␈α∞CLS.␈α∞ Once␈α∂a␈α∞CLS␈α∞has␈α∂been␈α∞sent,
␈↓ ↓H␈↓010     ERR (Error)                        ␈↓ εx␈↓no␈αfurther␈α
MSG's␈αmay␈αbe␈α
sent␈αand␈α
any␈αMSG
␈↓ ↓H␈↓␈↓ ↓h0 to 256. bytes of ASCII error text        ␈↓ εx␈↓sent␈α∂should␈α⊂be␈α∂replied␈α∂to␈α⊂with␈α∂an␈α⊂ERR.␈α∂ Of
                                           ␈↓ εx␈↓course,␈α⊂a␈α⊂new␈α⊂connection␈α⊂may␈α⊂be␈α⊂established
␈↓ ↓H␈↓This␈α
op␈α
code␈α
is␈α
used␈α
to␈α
send␈α
a␈α
protocol␈αerror       ␈↓ εx␈↓with␈α∪RPC.␈α∪ Breaking␈α∪the␈α∀phone␈α∪connection
␈↓ ↓H␈↓warning.␈α
 It␈αis␈α
intended␈α
that␈αa␈α
receiver␈αof␈α
such   ␈↓ εx␈↓implies terminating the connection.
␈↓ ↓H␈↓a␈αwarning␈α
output␈αthe␈αcontents␈α
of␈αthe␈αdata␈α
part
␈↓ ↓H␈↓of␈α⊃the␈α⊃message␈α⊃(which␈α⊃should␈α⊃be␈α∩an␈α⊃ASCII          ␈↓ εx␈↓When␈α#a␈α#connection␈α#is␈α#terminated,␈α"the
␈↓ ↓H␈↓string)␈α↔on␈α↔a␈α↔logging␈α↔terminal␈α↔so␈α↔that␈α↔the         ␈↓ εx␈↓recepient␈α⊂of␈α⊂the␈α⊂CLS␈α∂should␈α⊂send␈α⊂a␈α⊂CLS␈α∂to
␈↓ ↓H␈↓support␈α⊂sta≥␈α⊂can␈α⊂determine␈α⊂the␈α⊂cause␈α⊂of␈α⊂the       ␈↓ εx␈↓con≡rm terminating the process.
␈↓ ↓H␈↓problem␈α∂and␈α∂take␈α∂corrective␈α∂action.␈α∂ This␈α∂op
␈↓ ↓H␈↓code␈αshould␈αbe␈αused␈αjudiciously,␈αsince␈αneedless
␈↓ ↓H␈↓usage would only defeat its purpose.       ␈↓ εx␈↓α␈↓ π,8.  Introduction to Tertiary Protocols

␈↓ ↓H␈↓α␈↓ β%Connections␈↓                                ␈↓ εx␈↓All␈α
protocol␈α
communication␈α
in␈α
the␈α
higher␈α
level
                                           ␈↓ εx␈↓Dialnet␈α⊂protocols␈α⊂(e.g.␈α⊂ MAIL,␈α⊂File␈α⊂Transfer)
␈↓ ↓H␈↓In␈α
the␈α
discussion␈α
below,␈α
U␈α
refers␈α
to␈α
the␈α
process   ␈↓ εx␈↓uses␈αa␈αlist␈αformat␈αfor␈αmessages.␈α Each␈αmessage
␈↓ ↓H␈↓which␈α∃initially␈α⊗provoked␈α∃the␈α⊗connection␈α∃or      ␈↓ εx␈↓therefore has the form
␈↓ ↓H␈↓␈↓↓user␈↓,␈α∃S␈α⊗refers␈α∃to␈α⊗the␈α∃the␈α⊗process␈α∃passively
␈↓ ↓H␈↓waiting for a connection or ␈↓↓server␈↓.        ␈↓ εx␈↓(<identi≡er> <item> ... <item>)

␈↓ ↓H␈↓Channel 0 is to be used for ICP.           ␈↓ εx␈↓where␈α#the␈α#items␈α#themselves␈α#are␈α"either
                                           ␈↓ εx␈↓identi≡ers␈α∩or␈α∩have␈α∩a␈α∩similar␈α∩structure.␈α∩ The
␈↓ ↓H␈↓Following␈α≥the␈α≥establishment␈α≥of␈α≥a␈α≤dialup         ␈↓ εx␈↓object of this scheme is to ensure ∨exibility.
␈↓ ↓H␈↓connection,␈α∞U␈α∞should␈α∞send␈α
a␈α∞few␈α∞NOP's␈α∞to␈α
S
␈↓ ↓H␈↓to␈αavoid␈αpossible␈α
problems␈αwith␈αdropped␈α
bytes    ␈↓ εx␈↓Suppose,␈αfor␈αexample,␈αthat␈αone␈αof␈αthe␈αitems␈αin
␈↓ ↓H␈↓while connecting.                          ␈↓ εx␈↓a␈α∪protocol␈α∪message␈α∪designates␈α∪a␈α∀user␈α∪name.
                                           ␈↓ εx␈↓Initial␈α∩designs␈α∩of␈α∪Dialnet␈α∩may␈α∩allow␈α∪only␈α∩a
␈↓ ↓H␈↓U␈αmust␈αknow␈αthe␈αprocess␈αID␈αof␈αthe␈αS␈αit␈αwants         ␈↓ εx␈↓character␈α∨string␈α∨without␈α∨parentheses␈α∨like
␈↓ ↓H␈↓to␈α
connect␈α
to.␈α
 As␈αfar␈α
as␈α
Dialnet␈α
is␈αconcerned,    ␈↓ εx␈↓SMITH␈α↔to␈α⊗designate␈α↔the␈α⊗user.␈α↔ Later␈α⊗this
␈↓ ↓H␈↓process␈α≠ID's␈α≠are␈α≠arbitrary␈α≤ASCII␈α≠strings.       ␈↓ εx␈↓might␈α∂be␈α⊂elaborated␈α∂to␈α⊂also␈α∂allow␈α⊂a␈α∂complex
␈↓ ↓H␈↓However,␈α∩conventions␈α⊃have␈α∩been␈α⊃established     ␈↓ εx␈↓designator␈α_like␈α_(SUCCESSOR␈α_SMITH)␈α↔to
␈↓ ↓H␈↓as noted elsewhere.                        ␈↓ εx␈↓designate␈α the␈α person␈α who␈α has␈α∨replaced
                                           ␈↓ εx␈↓SMITH in this job assignment.
␈↓ ↓H␈↓U␈α∞sends␈α∞an␈α∞RPC␈α∞with␈α
the␈α∞process␈α∞ID␈α∞at␈α∞S␈α
it
␈↓ ↓H␈↓wants␈αto␈αconnect␈αto.␈α S␈αmay␈αhave␈αbeen␈αwaiting      ␈↓ εx␈↓There␈αis␈αno␈αpresent␈αintention␈αthat␈α
the␈αDialnet
␈↓ ↓H␈↓for␈α
a␈α
connection,␈α
or␈α
perhaps␈α
was␈α
created␈α
by␈α
S's    ␈↓ εx␈↓protocols␈α∞will␈α∞be␈α∞subject␈α∞to␈α∞rapid␈α
elaboration.
␈↓ ↓H␈↓host␈α⊂as␈α⊂a␈α⊂result␈α⊃of␈α⊂the␈α⊂RPC.␈α⊂ If␈α⊂S␈α⊃does␈α⊂not          ␈↓ εx␈↓The␈α∩present␈α∩object␈α∩is␈α∩merely␈α∩to␈α∩build␈α⊃these
␈↓ ↓H␈↓exist␈α∀or␈α∪S's␈α∀host␈α∪is␈α∀unable␈α∪or␈α∀unwilling␈α∪to        ␈↓ εx␈↓protocols␈α⊃so␈α⊂that␈α⊃they␈α⊂will␈α⊃not␈α⊂be␈α⊃subject␈α⊂to
␈↓ ↓H␈↓make␈α⊂the␈α⊂connection␈α⊂at␈α⊂the␈α⊂present␈α⊃time,␈α⊂S's      ␈↓ εx␈↓blind␈αalleys.␈α
 Therefore,␈αthere␈α
are␈αno␈α≡xed␈α
size
␈↓ ↓H␈↓host␈α→should␈α→return␈α→a␈α→CLS␈α→to␈α→refuse␈α_the            ␈↓ εx␈↓≡elds,␈αand␈α
item␈αthat␈α
is␈αinitially␈α
represented␈αby
␈↓ ↓H␈↓connection.
␈↓ ↓H␈↓αBasic line protocol␈↓ ∧iIntroduction to Tertiary Protocols␈↓ @11


␈↓ ↓H␈↓an␈α
atomic␈α
name␈αmay␈α
later␈α
be␈α
replaced␈αby␈α
some
␈↓ ↓H␈↓kind␈α∪of␈α∩expression,␈α∪and␈α∩new␈α∪terms␈α∪may␈α∩be
␈↓ ↓H␈↓adjoined␈αto␈αlists.␈α Thus␈αif␈αan␈αitem␈αis␈αpresently
␈↓ ↓H␈↓denoted␈α∩by␈α∪a␈α∩three␈α∪term␈α∩list,␈α∪an␈α∩elaborated
␈↓ ↓H␈↓protocol␈αmay␈αlater␈αcall␈αfor␈αa␈αfour␈αitem␈αlist,␈αbut
␈↓ ↓H␈↓if␈α
the␈α∞same␈α
initial␈α
identi≡er␈α∞is␈α
used,␈α∞it␈α
should
␈↓ ↓H␈↓still␈α∂be␈α⊂possible␈α∂for␈α∂a␈α⊂recipient␈α∂to␈α⊂ignore␈α∂the
␈↓ ↓H␈↓fourth item and still use the message.

␈↓ ↓H␈↓We␈α∩believe␈α∩that␈α∩these␈α∩conventions,␈α∩at␈α⊃slight
␈↓ ↓H␈↓cost␈α
in␈α
initial␈α
implementation,␈α
will␈αmake␈α
future
␈↓ ↓H␈↓improvements easy should they be required.
␈↓ ↓H␈↓α␈↓ εP␈↓ :12




␈↓ ↓H␈↓α␈↓ β%Appendix C                                 ␈↓ εx␈↓Under␈α
request␈αfrom␈α
the␈αuser␈α
process,␈α
the␈αuser
␈↓ ↓H␈↓α␈↓ αiFile transfer protocol                     ␈↓ εx␈↓program␈α↔establishes␈α↔a␈α↔connection␈α↔with␈α↔the
                                           ␈↓ εx␈↓desired␈α∀server.␈α∀ Channel␈α∪0␈α∀is␈α∀employed␈α∪for
␈↓ ↓H␈↓↓␈↓ β	by Ignacio Zabala                          ␈↓ εx␈↓exchange␈α∩of␈α∪commands␈α∩and␈α∪replies␈α∩between
                                           ␈↓ εx␈↓the␈α~user␈α~and␈α~server␈α~programs.␈α≠ When␈α~a
␈↓ ↓H␈↓The␈α∀␈↓↓File␈α∀Transfer␈α∀Protocol␈↓␈α∀(FTP)␈α∪provides       ␈↓ εx␈↓connection␈α⊃is␈α⊃established,␈α⊃the␈α⊃server␈α∩sends␈α⊃a
␈↓ ↓H␈↓Dialnet␈α∃hosts␈α∃with␈α∃a␈α∃set␈α∃of␈α∃commands␈α∀for          ␈↓ εx␈↓"reply"␈αconsisting␈αof␈α
a␈αgreeting␈αmessage␈α
(which
␈↓ ↓H␈↓transmission of ≡les among them.           ␈↓ εx␈↓can␈α∩contain␈α∩anything,␈α∩such␈α∩as␈α∪system␈α∩name,
                                           ␈↓ εx␈↓etc.).
␈↓ ↓H␈↓Because␈α⊃we␈α⊃count␈α⊃on␈α⊃quite␈α∩di≥erent␈α⊃systems
␈↓ ↓H␈↓using␈α∪Dialnet,␈α∪it␈α∪is␈α∪necessary␈α∪to␈α∪establish␈α∪a     ␈↓ εx␈↓At␈α⊗this␈α⊗point␈α⊗both␈α⊗sites␈α⊗must␈α↔reach␈α⊗some
␈↓ ↓H␈↓small␈α∩set␈α∪of␈α∩essential␈α∩commands␈α∪and␈α∩replies      ␈↓ εx␈↓agreement␈αabout␈αthe␈αcharacteristics␈αof␈αthe␈α∨ow
␈↓ ↓H␈↓that␈α
are␈α
implemented␈α∞by␈α
all␈α
of␈α
them␈α∞in␈α
order       ␈↓ εx␈↓of␈α∞data␈α∞between␈α∂them␈α∞so␈α∞that␈α∂the␈α∞transferred
␈↓ ↓H␈↓to␈α∂make␈α⊂possible␈α∂the␈α⊂communication␈α∂between      ␈↓ εx␈↓data␈α⊂is␈α⊂interpreted␈α⊂in␈α⊂the␈α⊂same␈α⊂way␈α⊃at␈α⊂both
␈↓ ↓H␈↓any␈α⊗two␈α⊗sites.␈α⊗ On␈α⊗top␈α⊗of␈α⊗this,␈α⊗additional        ␈↓ εx␈↓ends␈α
of␈αthe␈α
connection.␈α
 This␈αis␈α
the␈αpurpose␈α
of
␈↓ ↓H␈↓commands␈α↔are␈α_de≡ned␈α↔that␈α_enchance␈α↔data          ␈↓ εx␈↓the␈αDATA␈αcommand.␈α The␈αagreement␈αmay␈αbe
␈↓ ↓H␈↓transfer between two similar hosts.        ␈↓ εx␈↓renegotiated␈α∪at␈α∪any␈α∪time␈α∪in␈α∪which␈α∀no␈α∪data
                                           ␈↓ εx␈↓transmission␈α∀is␈α∀in␈α∀progress.␈α∀ The␈α∀user␈α∀may
␈↓ ↓H␈↓FTP␈α~commands␈α~consist␈α~of␈α~standard␈α~8-bit          ␈↓ εx␈↓then␈α
issue␈α∞service␈α
requests␈α
thru␈α∞the␈α
command
␈↓ ↓H␈↓ASCII␈α⊂strings.␈α⊂ Any␈α⊂number␈α⊂appearing␈α⊃in␈α⊂a        ␈↓ εx␈↓channel.
␈↓ ↓H␈↓command will always be decimal.

␈↓ ↓H␈↓The␈α⊂interactions␈α⊂between␈α⊂the␈α⊃various␈α⊂parties
␈↓ ↓H␈↓in␈α
an␈α∞FTP␈α
transaction␈α∞may␈α
be␈α∞best␈α
described
␈↓ ↓H␈↓by the following diagram:

              ␈↓ β(␈↓
            ________              ________
              ␈↓ β(␈↓
           |        |   Data     |        |
              ␈↓ β(␈↓
     ----->|(Output)|>---------->|(Input) |>--
              ␈↓ β(␈↓
     !     |        | Channel(1) |        |  !
              ␈↓ β(␈↓
     !     |        |            |        |  !
              ␈↓ β(␈↓
     !     |        |            |        |  !
              ␈↓ β(␈↓
     !     |        |  Command   |        |  !      _____
              ␈↓ β(␈↓
     !     | Server |<==========>| User   |<======>| User|
              ␈↓ β(␈↓
     !     | Process| Channel(0) | Process|  !     |_____|
              ␈↓ β(␈↓
     ∧     |        |            |        |  !
              ␈↓ β(␈↓
 ______    |        |            |        |  !    ________
              ␈↓ β(␈↓
| File |   |        |   Data     |        |  --->|  File  |
              ␈↓ β(␈↓
|System|<-<|(Input) |<----------<|(Output)|<----<| System |
              ␈↓ β(␈↓
|______|   |________| Channel(2) |________|      |________|
␈↓ ↓H␈↓αFile transfer protocol␈↓ εP␈↓ >13


␈↓ ↓H␈↓Data␈α↔is␈α↔transferred␈α↔on␈α↔the␈α_data␈α↔channels.        ␈↓ εx␈↓The replies are:
␈↓ ↓H␈↓When␈αthe␈αserver␈αreceives␈αa␈αrequest␈αto␈αretrieve
␈↓ ↓H␈↓a␈α→≡le,␈α→it␈α_tries␈α→to␈α→obtain␈α_the␈α→≡le␈α→and,␈α_if           ␈↓ εx␈↓␈↓ π_␈↓↓(OK (<optional-text>))␈↓
␈↓ ↓H␈↓everything␈αgoes␈αright,␈αit␈αsends␈αa␈αpositive␈αreply
␈↓ ↓H␈↓on␈α∂channel␈α∂0␈α∂and␈α∞starts␈α∂sending␈α∂the␈α∂data␈α∞on        ␈↓ εx␈↓␈↓ π_The␈α∞command␈α∞has␈α
been␈α∞accepted␈α∞as␈α
issued
␈↓ ↓H␈↓channel␈α1.␈α Upon␈αreceipt␈αof␈αthe␈αreply,␈αthe␈αuser    ␈↓ εx␈↓␈↓ πxand␈α∞will␈α∞cause␈α
the␈α∞desired␈α∞e≥ect.␈α
 If
␈↓ ↓H␈↓will␈α∂start␈α∂taking␈α∂packets␈α∂from␈α∂channel␈α⊂1␈α∂and      ␈↓ εx␈↓␈↓ πxthe␈α∀command␈α∪requires␈α∀two␈α∪replies,
␈↓ ↓H␈↓will␈αeventually␈αstore␈αthe␈αdata␈αin␈αits␈α≡le␈αsystem.  ␈↓ εx␈↓␈↓ πxthis is the primary positive reply.
␈↓ ↓H␈↓When␈α~a␈α≠store␈α~or␈α~append␈α≠operations␈α~are
␈↓ ↓H␈↓requested␈α⊃it␈α⊃is␈α⊃the␈α⊃user␈α⊃program␈α⊃which␈α⊃gets       ␈↓ εx␈↓␈↓ π_␈↓↓(DONE (<optional-text>))␈↓
␈↓ ↓H␈↓the␈α≡le␈αand␈αsends␈αit␈αto␈αthe␈αserver␈αthru␈α
channel
␈↓ ↓H␈↓2.␈α
 After␈αthe␈α
request,␈αthe␈α
server␈αis␈α
listening␈αto  ␈↓ εx␈↓␈↓ π_This␈α⊗is␈α⊗the␈α↔secondary␈α⊗reply␈α⊗for␈α↔a␈α⊗data
␈↓ ↓H␈↓this␈α∂channel␈α⊂and␈α∂when␈α⊂the␈α∂packets␈α⊂arrive,␈α∂it      ␈↓ εx␈↓␈↓ πxtransfer␈α→command␈α→whose␈α→primary
␈↓ ↓H␈↓will store the data in its ≡le system.     ␈↓ εx␈↓␈↓ πxreply␈α∞was␈α∞positive.␈α∞ It␈α∞indicates␈α∞that
                                           ␈↓ εx␈↓␈↓ πxthe data transfer is ≡nished.
␈↓ ↓H␈↓Data␈αtransmission␈αis␈αterminated␈αby␈αany␈α
of␈αthe
␈↓ ↓H␈↓following reasons:                         ␈↓ εx␈↓␈↓ π_␈↓↓(BUSY (<optional-text>))␈↓

␈↓ ↓H␈↓-␈α∪The␈α∪receiver␈α∪gets␈α∪an␈α∪end␈α∪of␈α∪≡le␈α∀on␈α∪that           ␈↓ εx␈↓␈↓ π_The␈αserver␈αcannot␈αattend␈αthe␈αrequest␈αbut␈αif
␈↓ ↓H␈↓␈↓ ↓hchannel.␈α
 This␈α
is␈α
the␈α
normal␈αtermination␈α
for     ␈↓ εx␈↓␈↓ πxyou␈α∪keep␈α∀trying␈α∪it␈α∀may␈α∪eventually
␈↓ ↓H␈↓␈↓ ↓ha successful data transfer.                ␈↓ εx␈↓␈↓ πxgive you the service.

␈↓ ↓H␈↓-␈α⊃An␈α⊂interrupt␈α⊃has␈α⊃been␈α⊂issued␈α⊃on␈α⊃the␈α⊂data         ␈↓ εx␈↓␈↓ π_␈↓↓(FAILED (<optional-text>))␈↓
␈↓ ↓H␈↓␈↓ ↓hchannel.␈α⊃ Any␈α⊃data␈α⊃previously␈α⊃received␈α⊂in
␈↓ ↓H␈↓␈↓ ↓hthat transmission is discarded.            ␈↓ εx␈↓␈↓ π_You␈α∩are␈α∩losing␈α∩with␈α∩this␈α∪command.␈α∩ The
                                           ␈↓ εx␈↓␈↓ πxargument will tell the reason.
␈↓ ↓H␈↓-␈α~The␈α~command␈α~channel␈α~is␈α~closed.␈α→ The
␈↓ ↓H␈↓␈↓ ↓hcommand␈α∀channel␈α∃may␈α∀be␈α∀closed␈α∃by␈α∀the             ␈↓ εx␈↓α␈↓ πtAccess Control Commands␈↓ 
␈↓ ↓H␈↓␈↓ ↓hserver␈αat␈αany␈α
time,␈αbut␈αit␈α
will␈αtypically␈αdo␈α
so
␈↓ ↓H␈↓␈↓ ↓honly␈α
after␈αa␈α
request␈αfrom␈α
the␈αuser␈α
who␈αwill        ␈↓ εx␈↓The␈α
following␈α
commands␈α
specify␈αaccess␈α
control
␈↓ ↓H␈↓␈↓ ↓hsend␈α≠it␈α≠when␈α≠≡nished␈α≠using␈α≠the␈α~FTP               ␈↓ εx␈↓identi≡ers.␈α∂ Some␈α∂sites␈α∞may␈α∂not␈α∂require␈α∞them,
␈↓ ↓H␈↓␈↓ ↓hservice.                                   ␈↓ εx␈↓but␈α⊃if␈α⊃issued␈α⊂they␈α⊃should␈α⊃be␈α⊃correct.␈α⊂ When
                                           ␈↓ εx␈↓needed␈α∃it␈α⊗is␈α∃the␈α⊗responsibility␈α∃of␈α⊗the␈α∃user
␈↓ ↓H␈↓α␈↓ β$FTP Replies␈↓                                ␈↓ εx␈↓program␈α
to␈α
make␈α
sure␈α
that␈α
they␈α
arrive␈α
in␈α
the
                                           ␈↓ εx␈↓correct␈α⊗order.␈α⊗ Because␈α⊗the␈α⊗server␈α↔has␈α⊗the
␈↓ ↓H␈↓The␈α∂following␈α∂pages␈α∞contain␈α∂a␈α∂description␈α∞of     ␈↓ εx␈↓faculty␈α∞to␈α∞close␈α∂the␈α∞connection␈α∞at␈α∞any␈α∂time,␈α∞it
␈↓ ↓H␈↓the␈α∩commands␈α∩available␈α∩in␈α∩the␈α∩Dialnet␈α∩File       ␈↓ εx␈↓may␈αvery␈αwell␈αdo␈αso␈αafter␈α
several␈αunsuccessful
␈↓ ↓H␈↓Transfer␈α⊃Protocol␈α⊃and␈α⊃the␈α⊃corresponding␈α⊂set     ␈↓ εx␈↓log-in trials.
␈↓ ↓H␈↓of replies.
                                           ␈↓ εx␈↓I.      (USER <user-id>)
␈↓ ↓H␈↓It␈α≤is␈α≤strongly␈α≠recommended␈α≤that␈α≤␈↓↓all␈↓␈α≠the
␈↓ ↓H␈↓commands␈α∪be␈α∪implemented,␈α∪although␈α∪clearly      ␈↓ εx␈↓With␈αthis␈αcommand␈αthe␈αuser␈αidenti≡es␈αhimself
␈↓ ↓H␈↓not all have the same importance.          ␈↓ εx␈↓to␈α
the␈αserver␈α
so␈α
that␈αit␈α
is␈αgranted␈α
access␈α
to␈αits
                                           ␈↓ εx␈↓≡le␈α↔system.␈α↔ Some␈α↔sites␈α↔might␈α↔require␈α⊗this
␈↓ ↓H␈↓There␈α
are␈α∞only␈α
four␈α∞possible␈α
replies.␈α∞ In␈α
each    ␈↓ εx␈↓command␈α∩to␈α⊃be␈α∩the␈α⊃≡rst␈α∩command␈α∩thru␈α⊃the
␈↓ ↓H␈↓of␈αthem␈αthe␈α≡rst␈αitem␈αidenti≡es␈αthe␈αreply.␈α The    ␈↓ εx␈↓connection␈α∂and␈α∂may␈α∂even␈α∂require␈α⊂a␈α∂complete
␈↓ ↓H␈↓second␈α⊂item␈α∂is␈α⊂a␈α⊂list␈α∂which␈α⊂contains␈α⊂a␈α∂string      ␈↓ εx␈↓log-in␈α∪sequence␈α∪with␈α∪a␈α∪password␈α∪and/or␈α∩an
␈↓ ↓H␈↓which␈α∀in␈α∀most␈α∃cases␈α∀is␈α∀passed␈α∀to␈α∃the␈α∀user          ␈↓ εx␈↓account␈α
number.␈α
 A␈α
new␈α
USER␈α
command␈α
may
␈↓ ↓H␈↓without␈α∞further␈α∞processing.␈α∞ Hence,␈α∞there␈α∞is␈α∞a   ␈↓ εx␈↓be␈αsent␈αat␈αany␈αtime,␈αin␈αwhich␈αthere␈αis␈αno␈αdata
␈↓ ↓H␈↓choice␈α∀as␈α∀to␈α∀the␈α∀amount␈α∀of␈α∀information␈α∪to         ␈↓ εx␈↓transmission,␈α→to␈α→change␈α→the␈α~access␈α→control
␈↓ ↓H␈↓return in a reply.
␈↓ ↓H␈↓αFile transfer protocol␈↓ εP␈↓ ;14


␈↓ ↓H␈↓and/or␈α"accounting␈α"information.␈α! Transfer      ␈↓ εx␈↓␈↓ π_Even␈α
if␈α
the␈α
server␈α
has␈α
no␈α
accounting␈α
service
␈↓ ↓H␈↓parameters are unchanged by this command.  ␈↓ εx␈↓␈↓ πxthis␈α⊂reply␈α⊂should␈α⊂be␈α⊂sent␈α⊂in␈α⊂case␈α∂a
                                           ␈↓ εx␈↓␈↓ πx≡xed␈α∩sequence␈α∪has␈α∩been␈α∪issued␈α∩by
␈↓ ↓H␈↓Replies:                                   ␈↓ εx␈↓␈↓ πxthe user.

␈↓ ↓H␈↓␈↓ ↓h␈↓↓(OK)␈↓                                       ␈↓ εx␈↓␈↓ π_␈↓↓(FAILED (<reason>))␈↓

␈↓ ↓H␈↓␈↓ ↓hThe␈α∩user␈α∩has␈α∩successfully␈α∩logged␈α∩into␈α⊃the
␈↓ ↓H␈↓␈↓ αHforeign␈α#host.␈α# No␈α$password␈α#is                  ␈↓ εx␈↓IV.     (BYE)
␈↓ ↓H␈↓␈↓ αHrequired.
                                           ␈↓ εx␈↓The␈αuser␈αsends␈α
this␈αmessage␈αbefore␈αclosing␈α
the
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(OK (PASSWORD?))␈↓                           ␈↓ εx␈↓connection, to say it is going away.

␈↓ ↓H␈↓␈↓ ↓hThe␈α⊃<user-id>␈α∩was␈α⊃accepted␈α⊃but␈α∩a␈α⊃correct         ␈↓ εx␈↓Replies:
␈↓ ↓H␈↓␈↓ αHpassword␈αis␈αrequired␈αto␈αcontinue␈αthe
␈↓ ↓H␈↓␈↓ αHlog-in process.                            ␈↓ εx␈↓␈↓ π_␈↓↓(OK)␈↓

␈↓ ↓H␈↓␈↓ ↓h␈↓↓(BUSY (<reason>))␈↓                          ␈↓ εx␈↓α␈↓ λ∩The DATA Command␈↓ 

␈↓ ↓H␈↓␈↓ ↓h␈↓↓(FAILED (<reason>))␈↓                        ␈↓ εx␈↓V.      (DATA <byte-size> <type> <structure>)

                                           ␈↓ εx␈↓The␈α∩systems␈α∩that␈α⊃communicate␈α∩by␈α∩means␈α⊃of
␈↓ ↓H␈↓II.     (PASSWORD <password>)              ␈↓ εx␈↓Dialnet␈α∨may␈α∨have␈α∨di≥erent␈α∨word␈α≡(byte)
                                           ␈↓ εx␈↓lengths,␈α⊂employ␈α⊂di≥erent␈α⊂data␈α∂representations
␈↓ ↓H␈↓The␈α
argument␈α
is␈α
a␈α
character␈α
string␈α
specifying    ␈↓ εx␈↓and␈α⊗structure␈α⊗their␈α⊗stored␈α⊗data␈α⊗in␈α∃various
␈↓ ↓H␈↓the user's password.                       ␈↓ εx␈↓ways.␈α∂ To␈α∂solve␈α∂this␈α∂problem␈α∂we␈α∂de≡ne␈α∞some
                                           ␈↓ εx␈↓standard␈α∪default␈α∩values␈α∪of␈α∪these␈α∩parameters
␈↓ ↓H␈↓Replies:                                   ␈↓ εx␈↓and␈α⊂employ␈α⊂the␈α⊂DATA␈α⊂command␈α⊂to␈α⊂change
                                           ␈↓ εx␈↓them␈α
in␈α∞cases␈α
in␈α
which␈α∞the␈α
standards␈α∞are␈α
not
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(OK)␈↓                                       ␈↓ εx␈↓adequate.␈α& All␈α&users␈α&of␈α'Dialnet␈α&must
                                           ␈↓ εx␈↓implement␈α∂the␈α∂defaults,␈α∂that␈α∂is,␈α∂they␈α∂must␈α∂be
␈↓ ↓H␈↓␈↓ ↓hUser log-in completed.                     ␈↓ εx␈↓able␈α∂to␈α∂send␈α⊂and␈α∂receive␈α∂meaningful␈α⊂data␈α∂in
                                           ␈↓ εx␈↓contiguous␈α
logical␈α
units␈α
of␈α
8␈α
bits,␈α
which␈αcan␈α
be
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(OK (ACCOUNT?))␈↓                            ␈↓ εx␈↓interpreted␈α
as␈α
standard␈α
ASCII␈α
characters␈α
and
                                           ␈↓ εx␈↓are␈α
always␈α
transferred␈α
in␈α
groups␈α∞delimited␈α
by
␈↓ ↓H␈↓␈↓ ↓hThe␈α≤<password>␈α≤was␈α≤accepted␈α≥but␈α≤an              ␈↓ εx␈↓end-of-≡le characters.
␈↓ ↓H␈↓␈↓ αHaccount␈α∪speci≡cation␈α∪is␈α∪required␈α∩to
␈↓ ↓H␈↓␈↓ αHcontinue the log-in process.               ␈↓ εx␈↓When␈α∃a␈α∃connection␈α∀is␈α∃≡rst␈α∃established,␈α∀the
                                           ␈↓ εx␈↓server␈αwill␈αassume␈αthat␈αthe␈αdefault␈α
values␈αwill
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(FAILED (<reason>))␈↓                        ␈↓ εx␈↓be␈α∩used␈α∪and␈α∩will␈α∩be␈α∪prepared␈α∩to␈α∪make␈α∩the
                                           ␈↓ εx␈↓necessary␈α∩data␈α∩conversions␈α∩from␈α∩his␈α∩own␈α∩to
                                           ␈↓ εx␈↓the␈α
default␈α
form␈α
when␈α
sending,␈α
and␈α
from␈α
the
␈↓ ↓H␈↓III.    (ACCOUNT <account>)                ␈↓ εx␈↓default to its own when receiving.

␈↓ ↓H␈↓The␈αargument␈α
is␈αa␈α
string␈αidentifying␈αthe␈α
user's   ␈↓ εx␈↓Often␈α∨user␈α and␈α∨server␈α∨will␈α be␈α∨similar
␈↓ ↓H␈↓account.                                   ␈↓ εx␈↓machines␈α_and␈α_converting␈α_the␈α_data␈α_to␈α_the
                                           ␈↓ εx␈↓standard␈α⊗default␈α⊗form␈α⊗will␈α⊗be␈α∃unnecessary.
␈↓ ↓H␈↓Replies:                                   ␈↓ εx␈↓The␈α∩DATA␈α∩command␈α∪allows␈α∩a␈α∩user␈α∪to␈α∩tell
                                           ␈↓ εx␈↓which␈α⊂are␈α⊂the␈α⊃parameters␈α⊂that␈α⊂he␈α⊃wants␈α⊂the
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(OK)␈↓                                       ␈↓ εx␈↓server␈α∃to␈α∃employ␈α∃on␈α∃the␈α∃data␈α∃in␈α∃order␈α∃to
␈↓ ↓H␈↓αFile transfer protocol␈↓ εP␈↓ =15


␈↓ ↓H␈↓minimize␈α∞the␈α∞user's␈α∞data␈α∞conversion␈α∞e≥ort.␈α
 It   ␈↓ εx␈↓If␈αa␈αsite␈αreceives␈αand␈αstores␈αa␈α≡le␈αwhile␈αcertain
␈↓ ↓H␈↓can␈α
be␈α
issued␈α
as␈αmany␈α
times␈α
as␈α
desired␈αbut␈α
not      ␈↓ εx␈↓parameter␈α~values␈α~are␈α~active␈α~and␈α~is␈α~later
␈↓ ↓H␈↓during␈α
a␈α
data␈αtransmission.␈α
 Of␈α
course,␈α
it␈αcan    ␈↓ εx␈↓requested␈α∩to␈α⊃return␈α∩that␈α⊃≡le␈α∩using␈α∩the␈α⊃same
␈↓ ↓H␈↓also␈α
be␈αused␈α
to␈αreturn␈α
to␈αthe␈α
standard␈αdefault     ␈↓ εx␈↓values,␈αthe␈αinput␈α
and␈αoutput␈αcopies␈α
should␈αbe
␈↓ ↓H␈↓form.                                      ␈↓ εx␈↓identical.␈α→Also␈α→we␈α→must␈α→require␈α→that␈α→any
                                           ␈↓ εx␈↓transformation␈α∩su≥ered␈α∩by␈α∩a␈α∩≡le␈α∩during␈α⊃the
␈↓ ↓H␈↓All␈α~the␈α→arguments␈α~should␈α→be␈α~given,␈α→and           ␈↓ εx␈↓process␈α
of␈α
storing␈α
it␈αdo␈α
not␈α
a≥ect␈α
the␈αcontents
␈↓ ↓H␈↓precisely␈α⊃in␈α∩the␈α⊃speci≡ed␈α⊃order.␈α∩ They␈α⊃stand     ␈↓ εx␈↓of that ≡le if output in another form.
␈↓ ↓H␈↓for:
                                           ␈↓ εx␈↓Replies:
␈↓ ↓H␈↓␈↓ ↓h<byte-size>␈α∂is␈α∂a␈α∂decimal␈α∂number␈α∂specifying
␈↓ ↓H␈↓␈↓ αHthe␈α_desired␈α_logical␈α_byte␈α→size,␈α_i.e.,            ␈↓ εx␈↓␈↓ π_␈↓↓(OK)␈↓
␈↓ ↓H␈↓␈↓ αHstarting␈αwith␈αthe␈α≡rst␈αbit␈αtransmitted
␈↓ ↓H␈↓␈↓ αHon␈α∀the␈α∀data␈α∀channel,␈α∀every␈α∪<byte-               ␈↓ εx␈↓␈↓ π_Good, the server agrees.
␈↓ ↓H␈↓␈↓ αHsize>␈α
bits␈αare␈α
a␈αcomplete␈α
entity.␈αThe
␈↓ ↓H␈↓␈↓ αHdefault byte size is 8.                    ␈↓ εx␈↓␈↓ π_␈↓↓(BUSY (<reason>))␈↓

␈↓ ↓H␈↓␈↓ ↓h<type> may be:                             ␈↓ εx␈↓␈↓ π_You␈α
are␈α
not␈α
allowed␈α
to␈α
change␈α
the␈αtransfer
                                           ␈↓ εx␈↓␈↓ πxparameters now.
␈↓ ↓H␈↓␈↓ αλASCII Data consist of a sequence of
␈↓ ↓H␈↓␈↓ αhcontiguous standard 8-bit ASCII            ␈↓ εx␈↓␈↓ π_␈↓↓(FAILED (<reason>))␈↓
␈↓ ↓H␈↓␈↓ αhcharacters. The end of a line of
␈↓ ↓H␈↓␈↓ αhtext is denoted by a sequence              ␈↓ εx␈↓␈↓ π_The␈α
server␈α
may␈α
not␈α
have␈α
implemented␈α
one
␈↓ ↓H␈↓␈↓ αh<CRLF>.  This is the default               ␈↓ εx␈↓␈↓ πxor␈α⊃several␈α∩of␈α⊃the␈α∩parameter␈α⊃values
␈↓ ↓H␈↓␈↓ αhtype.                                      ␈↓ εx␈↓␈↓ πxspeci≡ed␈αby␈α
the␈αarguments,␈αor␈α
it␈αcan
                                           ␈↓ εx␈↓␈↓ πxaccept␈α!each␈α!of␈α!them␈α!in␈α!some
␈↓ ↓H␈↓␈↓ αλEBCDIC Data consist of 8-bit EBCDIC        ␈↓ εx␈↓␈↓ πxcombination␈α!but␈α!not␈α!the␈α!three
␈↓ ↓H␈↓␈↓ αhcharacters. The end of a line of           ␈↓ εx␈↓␈↓ πxtogether␈α
as␈α
required␈α
in␈α
the␈α
command
␈↓ ↓H␈↓␈↓ αhtext is denoted by a <NL>                  ␈↓ εx␈↓␈↓ πxor␈α⊗the␈α⊗arguments␈α⊗are␈α⊗not␈α↔in␈α⊗the
␈↓ ↓H␈↓␈↓ αhcharacter.                                 ␈↓ εx␈↓␈↓ πxcorrect order, etc.

␈↓ ↓H␈↓␈↓ αλIMAGE Data consist of a stream of          ␈↓ εx␈↓α␈↓ λ¬FTP Service Commands␈↓ 
␈↓ ↓H␈↓␈↓ αhcontiguous bits that should be
␈↓ ↓H␈↓␈↓ αhtaken in contiguous groups of size         ␈↓ εx␈↓VI.     (RETRIEVE <for-path-name>)
␈↓ ↓H␈↓␈↓ αhgiven by the value of <byte-size>.
␈↓ ↓H␈↓␈↓ αhThis type is intended for e≠cient          ␈↓ εx␈↓This␈αcommand␈αtells␈α
the␈αserver␈αto␈αsend␈α
the␈α≡le
␈↓ ↓H␈↓␈↓ αhtransmission between similar               ␈↓ εx␈↓speci≡ed␈α~by␈α~<for-path-name>␈α~to␈α≠the␈α~user.
␈↓ ↓H␈↓␈↓ αhmachines.                                  ␈↓ εx␈↓Upon␈α⊗receiving␈α⊗it,␈α⊗the␈α⊗output␈α⊗side␈α⊗of␈α⊗the
                                           ␈↓ εx␈↓server's␈α⊃program␈α⊂should␈α⊃look␈α⊂for␈α⊃this␈α⊃≡le␈α⊂in
␈↓ ↓H␈↓␈↓ ↓h<structure> may be:                        ␈↓ εx␈↓the␈αserver's␈α≡le␈αsystem.␈α
 Then␈αit␈αwill␈αreport␈α
the
                                           ␈↓ εx␈↓result␈α∪of␈α∀the␈α∪lookup␈α∀operation␈α∪(so␈α∀that␈α∪the
␈↓ ↓H␈↓␈↓ αλFILE␈α∃File␈α∃(no␈α∃internal␈α∃structure).␈α∃The          ␈↓ εx␈↓user's␈α→program␈α~can␈α→be␈α→informed)␈α~and,␈α→if
␈↓ ↓H␈↓␈↓ αhend␈αof␈αa␈α≡le␈αis␈αmarked␈αby␈αan␈αend-                  ␈↓ εx␈↓successful,␈α
will␈α
start␈α
transmitting.␈α
 At␈α∞the␈α
end,
␈↓ ↓H␈↓␈↓ αhof-≡le packet.                             ␈↓ εx␈↓a␈α_report␈α_about␈α↔the␈α_result␈α_of␈α_the␈α↔transfer
                                           ␈↓ εx␈↓operation will also be emitted.
␈↓ ↓H␈↓␈↓ αλRECORD␈α≥The␈α≡data␈α≥is␈α≡grouped␈α≥in
␈↓ ↓H␈↓␈↓ αhrecords␈α
delimited␈α
by␈α
an␈α
EOR␈α
(end                ␈↓ εx␈↓Primary replies:
␈↓ ↓H␈↓␈↓ αhof␈α∂record)␈α∂marker.␈α∞At␈α∂the␈α∂end␈α∞of
␈↓ ↓H␈↓␈↓ αhthe␈α~≡le␈α→there␈α~is␈α~an␈α→end-of-≡le                  ␈↓ εx␈↓␈↓ π_␈↓↓(OK (<text>))␈↓
␈↓ ↓H␈↓␈↓ αhpacket after the last EOR.
␈↓ ↓H␈↓αFile transfer protocol␈↓ εP␈↓ >16


␈↓ ↓H␈↓␈↓ ↓hThe␈α⊂lookup␈α⊃succeeded␈α⊂and␈α⊂the␈α⊃server␈α⊂has          ␈↓ εx␈↓␈↓ π_␈↓↓(STOPPED (<text>))␈↓
␈↓ ↓H␈↓␈↓ αHstarted sending the ≡le.
                                           ␈↓ εx␈↓␈↓ π_Channel␈α≠2␈α≠closed␈α≠before␈α≠an␈α≠end-of-≡le
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(BUSY (<reason>))                          ␈↓ εx␈↓␈↓ πxarrived.␈α∀The␈α∀part␈α∀of␈α∀the␈α∀≡le␈α∪that
                                           ␈↓ εx␈↓␈↓ πxhad␈α⊃already␈α⊃been␈α⊃received␈α∩(if␈α⊃any)
␈↓ ↓H␈↓↓␈↓ ↓h(FAILED (<reason>))␈↓                        ␈↓ εx␈↓␈↓ πxwill␈α⊗not␈α↔be␈α⊗saved.␈α↔ The␈α⊗STORE
                                           ␈↓ εx␈↓␈↓ πxcommand will not have any e≥ect.
␈↓ ↓H␈↓ Secondary replies:

␈↓ ↓H␈↓␈↓ ↓h␈↓↓(DONE (<text>))␈↓                            ␈↓ εx␈↓VIII.   (APPEND <for-path-name>)

␈↓ ↓H␈↓␈↓ ↓hThe␈α~transfer␈α~is␈α~≡nished␈α~and␈α≠the␈α~data             ␈↓ εx␈↓This␈αcommand␈αtells␈αthe␈αserver␈αto␈αopen␈αthe␈α≡le
␈↓ ↓H␈↓␈↓ αHchannel closed.                            ␈↓ εx␈↓speci≡ed␈α∀by␈α∪<for-path-name>␈α∀for␈α∀input␈α∪and
                                           ␈↓ εx␈↓append␈α∞to␈α∞it␈α∞the␈α∞data␈α∞that␈α∞the␈α∞user␈α∞will␈α∞send
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(STOPPED (<text>))␈↓                         ␈↓ εx␈↓thru␈α∪channel␈α∪2.␈α∪ If␈α∪no␈α∪≡le␈α∪exists␈α∀with␈α∪that
                                           ␈↓ εx␈↓name␈α∞this␈α∞command␈α∞will␈α∞have␈α∞the␈α∞e≥ect␈α∂of␈α∞a
␈↓ ↓H␈↓␈↓ ↓hChannel␈α∂1␈α∂was␈α∞closed␈α∂before␈α∂an␈α∞end-of-≡le        ␈↓ εx␈↓STORE command.
␈↓ ↓H␈↓␈↓ αHhad␈α∩arrived.␈α∪ The␈α∩part␈α∩of␈α∪the␈α∩≡le
␈↓ ↓H␈↓␈↓ αHthat␈α
had␈α
already␈α
been␈αtransmitted␈α
(if           ␈↓ εx␈↓Primary replies:
␈↓ ↓H␈↓␈↓ αHany)␈α~will␈α~not␈α~be␈α~saved,␈α~i.e.␈α→the
␈↓ ↓H␈↓␈↓ αHRETRIEVE␈αcommand␈αwill␈αnot␈α
have                 ␈↓ εx␈↓␈↓ π_␈↓↓(OK (<text>))␈↓
␈↓ ↓H␈↓␈↓ αHany e≥ect.
                                           ␈↓ εx␈↓␈↓ π_The ≡le has been found or created.

␈↓ ↓H␈↓VII.    (STORE <for-path-name>)            ␈↓ εx␈↓␈↓ π_␈↓↓(BUSY (<reason>))

␈↓ ↓H␈↓The␈α∩server␈α∩should␈α∪open␈α∩a␈α∩≡le␈α∪named␈α∩<for-          ␈↓ εx␈↓↓␈↓ π_(FAILED (<reason>))␈↓
␈↓ ↓H␈↓path-name>␈α∞and␈α∂store␈α∞in␈α∞it␈α∂the␈α∞data␈α∂that␈α∞the
␈↓ ↓H␈↓user␈αwill␈αsend.␈αIf␈αa␈α≡le␈αwith␈αthat␈αname␈αalready     ␈↓ εx␈↓␈↓ π_Secondary replies:
␈↓ ↓H␈↓exists␈α
at␈α∞the␈α
server␈α
site␈α∞it␈α
will␈α∞be␈α
overwritten,
␈↓ ↓H␈↓otherwise the server should create it.     ␈↓ εx␈↓␈↓ π_␈↓↓(DONE (<text>))␈↓

␈↓ ↓H␈↓Primary replies:                           ␈↓ εx␈↓␈↓ π_The␈α∂transfer␈α∂is␈α∂≡nished␈α∂(an␈α∂end-of-≡le␈α∂has
                                           ␈↓ εx␈↓␈↓ πxbeen␈α∃received).␈α∀ The␈α∃≡le␈α∃is␈α∀closed
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(OK (<text>))␈↓                              ␈↓ εx␈↓␈↓ πxand so is data channel 2.

␈↓ ↓H␈↓␈↓ ↓hThe␈α⊃≡le␈α⊃has␈α⊂been␈α⊃found␈α⊃or␈α⊃created.␈α⊂ The           ␈↓ εx␈↓␈↓ π_␈↓↓(STOPPED (<text>))␈↓
␈↓ ↓H␈↓␈↓ αHserver␈α⊃is␈α⊃ready␈α⊃to␈α⊃receive␈α⊃the␈α⊃data
␈↓ ↓H␈↓␈↓ αHthru channel 2.                            ␈↓ εx␈↓␈↓ π_Channel␈α∂2␈α∞has␈α∂been␈α∞closed␈α∂before␈α∂an␈α∞end-
                                           ␈↓ εx␈↓␈↓ πxof-≡le␈α∂has␈α∂arrived.␈α∂The␈α∂part␈α⊂of␈α∂the
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(BUSY (<reason>))                          ␈↓ εx␈↓␈↓ πx≡le␈α⊃that␈α⊂had␈α⊃already␈α⊃been␈α⊂received
                                           ␈↓ εx␈↓␈↓ πx(if␈α↔any)␈α↔will␈α⊗not␈α↔be␈α↔saved.␈α⊗ The
␈↓ ↓H␈↓↓␈↓ ↓h(FAILED (<reason>))␈↓                        ␈↓ εx␈↓␈↓ πxAPPEND␈α∪command␈α∪will␈α∪not␈α∩have
                                           ␈↓ εx␈↓␈↓ πxany e≥ect.
␈↓ ↓H␈↓Secondary replies:

␈↓ ↓H␈↓␈↓ ↓h␈↓↓(DONE (<text>))␈↓

␈↓ ↓H␈↓␈↓ ↓hThe␈α∂transfer␈α∂is␈α∂≡nished␈α∂(an␈α∂end-of-≡le␈α∂has
␈↓ ↓H␈↓␈↓ αHbeen␈α∃received).␈α∀ The␈α∃≡le␈α∃is␈α∀closed
␈↓ ↓H␈↓␈↓ αHand so is data channel 2.
␈↓ ↓H␈↓αFile transfer protocol␈↓ εP␈↓ >17


␈↓ ↓H␈↓IX.     (ABORT)                            ␈↓ εx␈↓XI.     (DELETE <for-path-name>)

␈↓ ↓H␈↓This␈α∩command␈α∪tells␈α∩the␈α∪server␈α∩that␈α∪the␈α∩≡le        ␈↓ εx␈↓The␈α⊗server␈α↔is␈α⊗instructed␈α↔to␈α⊗delete␈α↔the␈α⊗≡le
␈↓ ↓H␈↓transfer␈α⊂requested␈α⊂by␈α⊂the␈α⊂previous␈α⊂command      ␈↓ εx␈↓speci≡ed by <for-path-name>.
␈↓ ↓H␈↓has␈α~been␈α→cancelled.␈α~For␈α→that␈α~purpose␈α→an
␈↓ ↓H␈↓interrupt␈α⊂packet␈α⊂is␈α⊂sent␈α⊂to␈α⊂the␈α⊂server␈α⊂on␈α∂the      ␈↓ εx␈↓Replies:
␈↓ ↓H␈↓data␈α$channel.␈α#Because␈α$the␈α$server␈α#was
␈↓ ↓H␈↓attending␈α∩that␈α∩channel,␈α∩it␈α∩will␈α∩recognize␈α⊃the    ␈↓ εx␈↓␈↓ π_␈↓↓(OK)␈↓
␈↓ ↓H␈↓packet,␈α⊗terminate␈α⊗any␈α⊗data␈α⊗transmission␈α⊗or
␈↓ ↓H␈↓reception␈α≡and␈α≡turn␈α≡its␈α≡attention␈α∨to␈α≡the          ␈↓ εx␈↓␈↓ π_The ≡le has been deleted.
␈↓ ↓H␈↓command␈α∂channel.␈α∞ Any␈α∂data␈α∞received␈α∂so␈α∞far
␈↓ ↓H␈↓will␈αbe␈αdiscarded.␈αThe␈αprevious␈αcommand␈αwill     ␈↓ εx␈↓␈↓ π_␈↓↓(BUSY (<reason>))
␈↓ ↓H␈↓have␈αno␈αe≥ect␈αon␈αthe␈α≡les␈αof␈αeither␈αthe␈αuser␈α
or
␈↓ ↓H␈↓the␈α∃server.␈α∀ Had␈α∃the␈α∀transfer␈α∃already␈α∀been       ␈↓ εx␈↓↓␈↓ π_(FAILED (<reason>))␈↓
␈↓ ↓H␈↓completed␈α∪and␈α∪the␈α∪data␈α∪channel␈α∪closed,␈α∩the
␈↓ ↓H␈↓receiver␈α
would␈α∞have␈α
already␈α∞closed␈α
the␈α∞≡le␈α
in
␈↓ ↓H␈↓its␈α↔≡le␈α↔system␈α_and␈α↔no␈α↔abortion␈α_would␈α↔be           ␈↓ εx␈↓XI.     (DIRECTORY <for-dir-name>)
␈↓ ↓H␈↓possible.
                                           ␈↓ εx␈↓This␈αcommand␈αasks␈α
the␈αserver␈αfor␈α
a␈αlist␈αof␈α
the
␈↓ ↓H␈↓Only␈α∃≡le␈α∃transfers␈α∃can␈α∃be␈α∃aborted␈α∃because        ␈↓ εx␈↓≡les␈α⊗in␈α↔the␈α⊗directory␈α⊗speci≡ed␈α↔by␈α⊗<for-dir-
␈↓ ↓H␈↓there␈α
is␈α
no␈α
control␈α
on␈α
the␈α
other␈α
services␈α
from     ␈↓ εx␈↓name>.␈α∂If␈α∂no␈α∞argument␈α∂is␈α∂given␈α∞a␈α∂list␈α∂of␈α∞the
␈↓ ↓H␈↓the␈α%very␈α$≡rst␈α%moment␈α$in␈α%which␈α$the                ␈↓ εx␈↓≡les␈α
in␈αthe␈α
log-in␈α
directory␈αshould␈α
be␈αsent.␈α
The
␈↓ ↓H␈↓corresponding command is issued.           ␈↓ εx␈↓information␈α∃will␈α∃be␈α∃contained␈α∃in␈α∃the␈α∀reply
                                           ␈↓ εx␈↓(sent thru the command channel).
␈↓ ↓H␈↓Replies:
                                           ␈↓ εx␈↓Replies:
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(OK)
                                           ␈↓ εx␈↓␈↓ π_␈↓↓(OK <≡le-list>)␈↓
␈↓ ↓H␈↓↓␈↓ ↓h(FAILED (<reason>))␈↓
                                           ␈↓ εx␈↓␈↓ π_<≡le-list>␈α∪is␈α∪the␈α∪requested␈α∪list␈α∪of␈α∀≡les.␈α∪ It
                                           ␈↓ εx␈↓␈↓ πxshould␈α_be␈α→passed␈α_directly␈α→to␈α_the
␈↓ ↓H␈↓X.␈α!     (RENAME␈α!<for-path-name1>␈α!TO           ␈↓ εx␈↓␈↓ πxhuman user.
␈↓ ↓H␈↓<for-path-name2>)
                                           ␈↓ εx␈↓␈↓ π_␈↓↓(FAILED (<reason>))␈↓
␈↓ ↓H␈↓The␈α
server␈α
is␈α
instructed␈α
to␈α
change␈α
the␈αname␈α
of
␈↓ ↓H␈↓<for-path-name1> to <for-path-name2>.
                                           ␈↓ εx␈↓XII.    (STATUS)
␈↓ ↓H␈↓Replies:
                                           ␈↓ εx␈↓With␈α∨this␈α∨command␈α∨the␈α∨user␈α∨asks␈α∨for
␈↓ ↓H␈↓␈↓ ↓h␈↓↓(OK)                                       ␈↓ εx␈↓whatever␈α
information␈α∞the␈α
server␈α
may␈α∞want␈α
to
                                           ␈↓ εx␈↓send␈αhim.␈α It␈αmay␈αbe␈αissued␈αat␈αany␈αtime.␈α The
␈↓ ↓H␈↓↓␈↓ ↓h(BUSY (<reason>))                          ␈↓ εx␈↓information␈αwill␈αbe␈αsent␈αas␈αa␈αreply␈αon␈αchannel
                                           ␈↓ εx␈↓0␈α∃(the␈α∃command␈α∀channel!)␈α∃and␈α∃is␈α∀intended
␈↓ ↓H␈↓↓␈↓ ↓h(FAILED (<reason>))␈↓                        ␈↓ εx␈↓exclusively for human users.

                                           ␈↓ εx␈↓Replies:

                                           ␈↓ εx␈↓␈↓ π_␈↓↓(OK <information-list>))␈↓

                                           ␈↓ εx␈↓␈↓ π_The␈α∨contents␈α≡of␈α∨the␈α≡<information-list>
␈↓ ↓H␈↓αFile transfer protocol␈↓ εP␈↓ =18


␈↓ ↓H␈↓␈↓ αHshould␈αbe␈αdirectly␈αsent␈αto␈αthe␈α
human             ␈↓ εx␈↓␈↓ π_DATA␈α∨COUNT␈α∨¬␈α∨a␈α∨8.-bit␈α∨quantity
␈↓ ↓H␈↓␈↓ αHuser␈α∪for␈α∀its␈α∪interpretation.␈α∀This␈α∪is            ␈↓ εx␈↓␈↓ πxindicating␈α∪how␈α∀many␈α∪bytes␈α∀are␈α∪in
␈↓ ↓H␈↓␈↓ αHthe only legal reply.                      ␈↓ εx␈↓␈↓ πxthe␈αdata␈α≡eld␈αof␈αthe␈αpacket␈αafter␈αthe
                                           ␈↓ εx␈↓␈↓ πx≡rst data byte.

␈↓ ↓H␈↓α␈↓ β*9.  Glossary                               ␈↓ εx␈↓␈↓ π_␈↓↓Dialnet␈↓␈α∀¬␈α∪a␈α∀communications␈α∀protocol␈α∪for
                                           ␈↓ εx␈↓␈↓ πxdata␈α∨transmission␈α over␈α∨standard
␈↓ ↓H␈↓The␈α
following␈α
terms␈α
are␈α
used␈α
in␈αthis␈α
document     ␈↓ εx␈↓␈↓ πxphone␈α⊃lines.␈α⊃ This␈α⊃term␈α∩also␈α⊃refers
␈↓ ↓H␈↓and are de≡ned here to remove ambiguity:   ␈↓ εx␈↓␈↓ πxinformally␈α∞to␈α∞the␈α
set␈α∞of␈α∞hosts␈α
which
                                           ␈↓ εx␈↓␈↓ πximplement ␈↓↓Dialnet␈↓.
␈↓ ↓H␈↓␈↓ ↓hACKNOWLEDGEMENT␈α"¬␈α#an␈α"8.-bit
␈↓ ↓H␈↓␈↓ αHquantity␈α∩which␈α∩speci≡es␈α∩the␈α∩packet             ␈↓ εx␈↓␈↓ π_EOP␈α⊂¬␈α⊂a␈α⊂marker␈α∂used␈α⊂to␈α⊂indicate␈α⊂end␈α∂of
␈↓ ↓H␈↓␈↓ αHsequence␈α≠number␈α≠of␈α≠the␈α≠highest                 ␈↓ εx␈↓␈↓ πxpacket.␈α≤ EOP␈α≠consists␈α≤of␈α≠ASCII
␈↓ ↓H␈↓␈↓ αHconsecutive␈α∩packet␈α∩which␈α∩has␈α⊃been              ␈↓ εx␈↓␈↓ πxDLE␈α⊂(220)␈α∂followed␈α⊂by␈α⊂ETX␈α∂(202).
␈↓ ↓H␈↓␈↓ αHsuccessfully␈α?␈α↔received.␈α?␈α↔ An                   ␈↓ εx␈↓␈↓ πxIt␈α⊃is␈α⊃a␈α⊂violation␈α⊃of␈α⊃packet␈α⊂framing
␈↓ ↓H␈↓␈↓ αHacknowledgement␈α≠implies␈α≤that␈α≠all              ␈↓ εx␈↓␈↓ πxfor␈α⊃a␈α⊃packet␈α⊃to␈α⊃end␈α∩with␈α⊃anything
␈↓ ↓H␈↓␈↓ αHpackets␈α1with␈α2lower␈α1sequence                   ␈↓ εx␈↓␈↓ πxother␈α
than␈αan␈α
EOP.␈α A␈α
packet␈αis␈α
not
␈↓ ↓H␈↓␈↓ αHnumbers have been received as well.        ␈↓ εx␈↓␈↓ πxcompletely␈α∪received␈α∪until␈α∀this␈α∪code
                                           ␈↓ εx␈↓␈↓ πxhas␈α∀been␈α∃received.␈α∀ Note␈α∃that␈α∀the
␈↓ ↓H␈↓␈↓ ↓hBYTE␈α¬␈α
an␈α8.-bit␈αquantity.␈α
 While␈α␈↓↓Dialnet␈↓        ␈↓ εx␈↓␈↓ πx200␈α∂bit␈α∞must␈α∂be␈α∞set␈α∂for␈α∞an␈α∂EOP␈α∞to
␈↓ ↓H␈↓␈↓ αHtransmissions␈αare␈α
to␈αbe␈αconsidered␈α
as           ␈↓ εx␈↓␈↓ πxbe recognized as such.
␈↓ ↓H␈↓␈↓ αHa␈α$bit␈α#stream,␈α$this␈α$concept␈α#is
␈↓ ↓H␈↓␈↓ αHconvenient to use for many reasons.        ␈↓ εx␈↓␈↓ π_HOST␈α
¬␈α∞a␈α
system␈α∞with␈α
␈↓↓Dialnet␈↓-compatible
                                           ␈↓ εx␈↓␈↓ πxmodems␈α?and␈α>␈↓↓Dialnet␈↓-support
␈↓ ↓H␈↓␈↓ ↓hBYTE␈α
SIZE␈α¬␈α
this␈αrefers␈α
to␈αthe␈α
byte␈αsize␈α
of         ␈↓ εx␈↓␈↓ πxsoftware␈α
which␈α
knows␈α
the␈α
telephone
␈↓ ↓H␈↓␈↓ αHdata␈α⊂as␈α⊂seen␈α⊂by␈α⊂the␈α⊂host␈α∂computer.               ␈↓ εx␈↓␈↓ πxnumber of at least one other host.
␈↓ ↓H␈↓␈↓ αHAll␈α∂␈↓↓Dialnet␈↓␈α∞transmissions␈α∂should␈α∞be
␈↓ ↓H␈↓␈↓ αHconsidered␈α∩bit␈α∩stream␈α∩transmissions           ␈↓ εx␈↓␈↓ π_HOST-HOST␈α*PROTOCOL␈α*¬␈α)The
␈↓ ↓H␈↓␈↓ αHsent in units of 8.-bit bytes.             ␈↓ εx␈↓␈↓ πxprotocol␈α2which␈α2provides␈α2for
                                           ␈↓ εx␈↓␈↓ πxcompatible␈α⊗communication␈α∃between
␈↓ ↓H␈↓␈↓ ↓hCHANNEL␈α
¬␈αan␈α
8.-bit␈αquantity␈α
identifying        ␈↓ εx␈↓␈↓ πxtwo␈α
processes␈α
running␈α
on␈α(probably)
␈↓ ↓H␈↓␈↓ αHwhich␈α!data␈α!stream␈α"this␈α!packet                  ␈↓ εx␈↓␈↓ πxdissimilar hosts.
␈↓ ↓H␈↓␈↓ αHbelongs␈α to.␈α  Channels␈α have␈α no
␈↓ ↓H␈↓␈↓ αHmeaning␈α∃to␈α∀the␈α∃host-host␈α∀protocol,             ␈↓ εx␈↓␈↓ π_LINE␈α⊃TRANSMISSION␈α⊃PROTOCOL␈α⊂¬
␈↓ ↓H␈↓␈↓ αHonly␈α#to␈α"higher␈α#level␈α"protocols.                ␈↓ εx␈↓␈↓ πxThe␈α_protocol␈α_which␈α_provides␈α_for
␈↓ ↓H␈↓␈↓ αHChannel␈α⊂0␈α⊃is␈α⊂the␈α⊃channel␈α⊂normally               ␈↓ εx␈↓␈↓ πxerror␈α∂free␈α∂transmission␈α∂between␈α∞two
␈↓ ↓H␈↓␈↓ αHused.                                      ␈↓ εx␈↓␈↓ πxhosts␈α
with␈α
a␈α
common␈α∞modem␈α
which
                                           ␈↓ εx␈↓␈↓ πxuse the Host-Host protocol.
␈↓ ↓H␈↓␈↓ ↓hCHECKSUM␈α*¬␈α*a␈α+16.-bit␈α*quantity
␈↓ ↓H␈↓␈↓ αHcontaining␈α∂a␈α∂packet␈α⊂checksum,␈α∂used             ␈↓ εx␈↓␈↓ π_OP␈α∂CODE␈α∂¬␈α∂a␈α∂␈↓↓Dialnet␈↓␈α∂host-host␈α∂protocol
␈↓ ↓H␈↓␈↓ αHin error detection.                        ␈↓ εx␈↓␈↓ πxoperation code.

␈↓ ↓H␈↓␈↓ ↓hCONNECTION␈α→¬␈α→a␈α→logical␈α→connection              ␈↓ εx␈↓␈↓ π_PACKET␈α ¬␈α a␈α∨logical␈α unit␈α of␈α∨data
␈↓ ↓H␈↓␈↓ αHbetween␈α∂two␈α∂processes.␈α∞ Connections           ␈↓ εx␈↓␈↓ πxtransmitted␈α≤over␈α≤a␈α≤␈↓↓Dialnet␈↓␈α≤link.
␈↓ ↓H␈↓␈↓ αHare bidirectional.                         ␈↓ εx␈↓␈↓ πxThe␈αpacket␈αis␈αthe␈αelementary␈αunit␈αof
                                           ␈↓ εx␈↓␈↓ πx␈↓↓Dialnet␈↓␈α∩transmissions.␈α∩ A␈α∩packet␈α∩is
␈↓ ↓H␈↓␈↓ ↓hDATA␈α↔¬␈α⊗an␈α↔arbitrary␈α⊗amount␈α↔of␈α⊗data               ␈↓ εx␈↓␈↓ πxbasically␈α∃data␈α∃with␈α∃a␈α⊗header␈α∃and
␈↓ ↓H␈↓␈↓ αHwhich␈αis␈αeither␈αused␈αas␈αarguments␈α
in             ␈↓ εx␈↓␈↓ πxtrailer.
␈↓ ↓H␈↓␈↓ αHthe␈α
Host-Host␈αprotocol␈α
or␈αas␈α
data␈αto
␈↓ ↓H␈↓␈↓ αHbe␈α~passed␈α~to␈α~a␈α~process␈α~utilizing                ␈↓ εx␈↓␈↓ π_PACKET␈α∞FRAMING␈α∞¬␈α∞a␈α∂technique␈α∞used
␈↓ ↓H␈↓␈↓ αH␈↓↓Dialnet␈↓.
␈↓ ↓H␈↓αFile transfer protocol␈↓ ε↔Glossary␈↓ >19


␈↓ ↓H␈↓␈↓ αHin␈α~the␈α~line␈α~transmission␈α~protocol              ␈↓ εx␈↓␈↓ π_WINDOW␈α⊂¬␈α⊃The␈α⊂margin␈α⊂for␈α⊃packets␈α⊂vs.
␈↓ ↓H␈↓␈↓ αHwhich␈α
requires␈α∞that␈α
all␈α∞packets␈α
start           ␈↓ εx␈↓␈↓ πxtheir␈α#acknowledgements␈α$so␈α#that
␈↓ ↓H␈↓␈↓ αHwith␈α∞an␈α∞SOP␈α∞marker␈α∞and␈α∞end␈α
with                  ␈↓ εx␈↓␈↓ πxacknowledgements␈αdo␈αnot␈αhave␈αto␈α
be
␈↓ ↓H␈↓␈↓ αHan␈α
EOP␈α
marker.␈α
 A␈α
packet␈α
must␈αbe                 ␈↓ εx␈↓␈↓ πxcompletely synchronous with packets.
␈↓ ↓H␈↓␈↓ αHproperly␈α"framed␈α"for␈α"it␈α"to␈α"be
␈↓ ↓H␈↓␈↓ αHconsidered␈α↔to␈α↔have␈α↔been␈α⊗received               ␈↓ εx␈↓␈↓ π_WINDOW␈αSIZE␈α¬␈αThe␈αmaximum␈αnumber
␈↓ ↓H␈↓␈↓ αHcorrectly.␈α⊂ Framing␈α⊂errors␈α⊂cause␈α⊂the           ␈↓ εx␈↓␈↓ πxof␈α↔unacknowledged␈α_packets␈α↔which
␈↓ ↓H␈↓␈↓ αHpacket␈α
in␈α
progress␈α
and␈α
all␈α
succeeding           ␈↓ εx␈↓␈↓ πxmay␈α
be␈α
pending␈α
at␈α
any␈α
time.␈α
 This␈α
is
␈↓ ↓H␈↓␈↓ αHdata␈αto␈αbe␈α
discarded␈αuntil␈αframing␈α
is            ␈↓ εx␈↓␈↓ πxsimilar␈α⊂to␈α⊃what␈α⊂the␈α⊃ARPAnet␈α⊂calls
␈↓ ↓H␈↓␈↓ αHrestored.                                  ␈↓ εx␈↓␈↓ πx"message allocation".

␈↓ ↓H␈↓␈↓ ↓hPACKET␈α∂NUMBER␈α∂¬␈α∂an␈α⊂8.-bit␈α∂quantity
␈↓ ↓H␈↓␈↓ αHwhich␈αuniquely␈αidenti≡es␈αa␈αpacket␈αat
␈↓ ↓H␈↓␈↓ αHa␈α
given␈α
point␈α
in␈α
time.␈α
 This␈α
is␈α
used
␈↓ ↓H␈↓␈↓ αHto␈α∀identify␈α∀packets␈α∀if␈α∀necessary␈α∀in
␈↓ ↓H␈↓␈↓ αHerror␈αrecovery.␈α Packet␈αnumbers␈α
may
␈↓ ↓H␈↓␈↓ αHbe␈α∃recycled␈α∀after␈α∃both␈α∃hosts␈α∀have
␈↓ ↓H␈↓␈↓ αHagreed␈α_that␈α_the␈α_packet␈α↔associated
␈↓ ↓H␈↓␈↓ αHwith␈α∩this␈α∩packet␈α∩number␈α∩has␈α∩been
␈↓ ↓H␈↓␈↓ αHcorrectly sent and received.

␈↓ ↓H␈↓␈↓ ↓hPROCESS␈α∀¬␈α∀an␈α∀entity␈α∃utilizing␈α∀␈↓↓Dialnet␈↓.
␈↓ ↓H␈↓␈↓ αH␈↓↓Dialnet␈↓␈α?␈α↓tra≠c␈α?␈α↓consists␈α?of
␈↓ ↓H␈↓␈↓ αHcommunications between processes.

␈↓ ↓H␈↓␈↓ ↓hPROCESS␈α⊃ID␈α∩¬␈α⊃an␈α⊃8.-byte␈α∩ASCII␈α⊃string
␈↓ ↓H␈↓␈↓ αHwhich␈α
uniquely␈α
identi≡es␈α
the␈α
process.
␈↓ ↓H␈↓␈↓ αHSee␈α$the␈α#ICP␈α$and␈α#higher-level
␈↓ ↓H␈↓␈↓ αHprotocols for process-ID conventions.

␈↓ ↓H␈↓␈↓ ↓hSERVER␈α∞¬␈α
the␈α∞initially␈α
passive␈α∞process␈α
in
␈↓ ↓H␈↓␈↓ αHa connection.

␈↓ ↓H␈↓␈↓ ↓hSOP␈α∂¬␈α∂a␈α∂marker␈α∂used␈α∂to␈α∂indicate␈α∂start␈α∂of
␈↓ ↓H␈↓␈↓ αHpacket.␈α
 SOP␈α
consists␈α
of␈α
ASCII␈α
DLE
␈↓ ↓H␈↓␈↓ αH(220)␈αfollowed␈αby␈αSTX␈α(203).␈α It␈αis␈αa
␈↓ ↓H␈↓␈↓ αHviolation␈α∀of␈α∃packet␈α∀framing␈α∃for␈α∀a
␈↓ ↓H␈↓␈↓ αHpacket␈α
to␈α
begin␈α
with␈α
anything␈α
other
␈↓ ↓H␈↓␈↓ αHthan␈α∪an␈α∩SOP.␈α∪ Any␈α∪data␈α∩received
␈↓ ↓H␈↓␈↓ αHwhen␈αan␈αSOP␈αis␈αexpected␈αshould␈αbe
␈↓ ↓H␈↓␈↓ αHdiscarded.␈α⊗ Note␈α⊗that␈α⊗the␈α⊗200␈α∃bit
␈↓ ↓H␈↓␈↓ αHmust␈α_be␈α_set␈α_for␈α_an␈α_SOP␈α→to␈α_be
␈↓ ↓H␈↓␈↓ αHrecognized as such.

␈↓ ↓H␈↓␈↓ ↓hTIMEOUT␈α
¬␈α
A␈α∞delay␈α
time␈α
for␈α∞a␈α
speci≡ed
␈↓ ↓H␈↓␈↓ αHaction.␈α∀ If␈α∀the␈α∀desired␈α∀action␈α∀does
␈↓ ↓H␈↓␈↓ αHnot␈α∂occur␈α∂within␈α∂a␈α∂speci≡ed␈α∂time,␈α∂a
␈↓ ↓H␈↓␈↓ αH"timeout" action is taken.

␈↓ ↓H␈↓␈↓ ↓hUSER␈α∩¬␈α∩the␈α∩initially␈α∩active␈α∩process␈α∪in␈α∩a
␈↓ ↓H␈↓␈↓ αHconnection.
␈↓ ↓H␈↓α␈↓ εP␈↓ <20


␈↓ ↓H␈↓α␈↓ β$Appendix D                                 ␈↓ εx␈↓a␈αmail␈αprotocol.␈α Each␈αhost␈αis␈αonly␈αrequired␈αto
␈↓ ↓H␈↓α␈↓ β≡Mail protocol                              ␈↓ εx␈↓implement␈α∃what␈α∃parts␈α∀of␈α∃the␈α∃protocol␈α∀they
                                           ␈↓ εx␈↓require␈α_after␈α→a␈α_certain␈α→common␈α_minimum
␈↓ ↓H␈↓↓␈↓ α=by Mark Crispin      3/27/78               ␈↓ εx␈↓subset.␈α⊃ If␈α⊃a␈α⊃host␈α⊃wishes␈α⊃to␈α⊃have␈α∩a␈α⊃message
                                           ␈↓ εx␈↓heading␈α→(as␈α→well␈α_it␈α→might,␈α→since␈α_valuable
␈↓ ↓H␈↓The␈α∪host-host␈α∪protocol␈α∪described␈α∪in␈α∪Dialnet     ␈↓ εx␈↓information␈α⊃such␈α∩as␈α⊃whom␈α⊃the␈α∩message␈α⊃was
␈↓ ↓H␈↓memo␈α
 2␈αdocuments␈α
a␈αmechanism␈α
for␈α
hosts␈αto        ␈↓ εx␈↓from␈α∂is␈α∂contained␈α∞therein),␈α∂it␈α∂may␈α∂generate␈α∞a
␈↓ ↓H␈↓establish␈α∂an␈α∂error-free␈α∂data␈α∂link␈α∂between␈α∞two    ␈↓ εx␈↓header in any format.
␈↓ ↓H␈↓cooperating␈αprocesses.␈α This␈αprotocol,␈α
however,
␈↓ ↓H␈↓is␈α$insu≠cient␈α$to␈α$specify␈α#communication         ␈↓ εx␈↓Keeping␈αthis␈αin␈αmind,␈αa␈αmethod␈αof␈αexpressing
␈↓ ↓H␈↓between␈α∂dissimilar␈α∂mail␈α∂processes␈α∂in␈α∂di≥erent   ␈↓ εx␈↓such␈α∀information␈α∀in␈α∀a␈α∀clearly␈α∀unambiguous
␈↓ ↓H␈↓hosts.␈α" The␈α#processes␈α"must␈α#have␈α"some            ␈↓ εx␈↓and␈αreadily␈αmachine-parsable␈αway␈αwas␈αsought.
␈↓ ↓H␈↓agreement␈α
as␈α
to␈αthe␈α
format␈α
messages␈αshould␈α
be     ␈↓ εx␈↓The␈αLISP␈αsyntax␈αof␈αS-expressions␈αwas␈αchosen,
␈↓ ↓H␈↓in,␈α∃and␈α⊗how␈α∃mail␈α∃addressing␈α⊗and␈α∃delivery         ␈↓ εx␈↓due to its extreme versatility.
␈↓ ↓H␈↓should be handled.
                                           ␈↓ εx␈↓In␈α≠the␈α≠mail␈α~protocol,␈α≠the␈α≠user␈α≠sends␈α~S-
␈↓ ↓H␈↓The␈αARPAnet␈αimplements␈αmail␈αas␈αpart␈αof␈αthe        ␈↓ εx␈↓expressions␈α
as␈αcommands␈α
to␈αthe␈α
server,␈αwhich
␈↓ ↓H␈↓≡le␈α%transfer␈α%protocol.␈α% This␈α%has␈α%some           ␈↓ εx␈↓replies␈αin␈αturn␈αusing␈αS-expressions.␈α No␈αactual
␈↓ ↓H␈↓advantages␈α⊂and␈α∂disadvantages.␈α⊂ A␈α∂short-term    ␈↓ εx␈↓LISP␈α⊃evaluating␈α⊃is␈α⊂actually␈α⊃done;␈α⊃all␈α⊃that␈α⊂is
␈↓ ↓H␈↓advantage␈αof␈αthis␈αform␈αof␈αmailing␈αis␈αthat␈αit␈αis     ␈↓ εx␈↓needed␈α
is␈α
a␈α
"LISP␈α
reader"␈α
which␈α
can␈α
recognize
␈↓ ↓H␈↓relatively␈αsimple␈αto␈αimplement␈αand␈αinterface␈αto  ␈↓ εx␈↓an␈αS-expression␈αand␈αbe␈αable␈αto␈αdistinguish␈αthe
␈↓ ↓H␈↓an␈α∪existing␈α∩mail␈α∪system␈α∩if␈α∪the␈α∪current␈α∩mail       ␈↓ εx␈↓CAR and CDR of an expression.
␈↓ ↓H␈↓system␈α⊗already␈α⊗uses␈α⊗something␈α∃approaching
␈↓ ↓H␈↓the standard format.                       ␈↓ εx␈↓For␈α→those␈α~unfamiliar␈α→with␈α→LISP,␈α~a␈α→brief
                                           ␈↓ εx␈↓introduction␈αto␈αthe␈αsyntax␈αis␈αon␈αthe␈αnext␈αpage.
␈↓ ↓H␈↓In␈α∀the␈α∀long␈α∀term,␈α∀however,␈α∀many␈α∪problems         ␈↓ εx␈↓It␈αis␈α
not␈αintended␈αto␈α
be␈αa␈αdescription␈α
of␈αLISP
␈↓ ↓H␈↓have␈α∞arisen␈α∂as␈α∞increasingly,␈α∞more␈α∂varieties␈α∞of   ␈↓ εx␈↓syntax,␈α∂but␈α∂rather␈α∂the␈α∂"LISPese"␈α∂syntax␈α∞used
␈↓ ↓H␈↓mail␈α∂formats␈α⊂have␈α∂appeared␈α∂and␈α⊂more␈α∂hairy        ␈↓ εx␈↓by Dialnet mail.
␈↓ ↓H␈↓mail␈α⊂reading␈α⊂programs␈α⊂have␈α⊂been␈α⊂written␈α⊂to
␈↓ ↓H␈↓parse␈αthese␈αformats.␈α It␈αwould␈αbe␈αshort-sighted
␈↓ ↓H␈↓to␈α⊃assume␈α∩that␈α⊃this␈α∩would␈α⊃not␈α∩happen␈α⊃with         ␈↓ εx␈↓α␈↓ λ]10.  Syntax
␈↓ ↓H␈↓Dialnet␈α∨mail␈α∨as␈α≡well.␈α∨ In␈α∨addition,␈α≡the
␈↓ ↓H␈↓ARPAnet␈α↔mail␈α⊗formats␈α↔leave␈α⊗much␈α↔to␈α⊗be            ␈↓ εx␈↓The␈α∂mail␈α⊂protocol␈α∂consists␈α∂of␈α⊂an␈α∂interchange
␈↓ ↓H␈↓desired.                                   ␈↓ εx␈↓of␈α~S-expressions,␈α~which␈α~are␈α≠things␈α~inside
                                           ␈↓ εx␈↓balanced␈α∂parenthesis.␈α∂ Parenthesis␈α∂are␈α∂special
␈↓ ↓H␈↓First,␈α∪they␈α∪are␈α∪in␈α∩the␈α∪format␈α∪of␈α∪a␈α∩business        ␈↓ εx␈↓characters␈α
in␈α
all␈α
cases.␈α
 In␈α
order␈α
for␈α
them␈αto␈α
be
␈↓ ↓H␈↓memorandum,␈α
leading␈α
many␈α
to␈αthe␈α
assumption      ␈↓ εx␈↓included␈α∞in␈α∞text,␈α∞they␈α∞must␈α∞be␈α∞quoted␈α∂with␈α∞a
␈↓ ↓H␈↓that␈α∞a␈α∞business␈α∞memorandum␈α∞was␈α∂the␈α∞proper        ␈↓ εx␈↓slash␈α⊃(/)␈α⊃character.␈α⊃ Hence␈α⊃slash␈α⊃is␈α∩a␈α⊃special
␈↓ ↓H␈↓format for message headers to take.        ␈↓ εx␈↓character as well.

␈↓ ↓H␈↓Second,␈α
too␈α
much␈α
∨exibility␈α
was␈α
allowed␈αin␈α
the    ␈↓ εx␈↓Newline␈α∞is␈α∞represented␈α∞by␈α∞an␈α∞012␈α∞byte.␈α∞ This
␈↓ ↓H␈↓formats␈αof␈αvarious␈αitems,␈αwith␈αthe␈αunfortunate   ␈↓ εx␈↓is␈α_distinct␈α→from␈α_the␈α_"line␈α→feed"␈α_character,
␈↓ ↓H␈↓result␈α
that␈α∞too␈α
many␈α∞esoteric␈α
varieties␈α∞of␈α
mail   ␈↓ εx␈↓which does not exist in the mail protocol.
␈↓ ↓H␈↓commands␈α-ensued,␈α-and␈α.many␈α-trivial
␈↓ ↓H␈↓arguments␈α%over␈α%highly␈α&esoteric␈α%matters         ␈↓ εx␈↓The␈α⊂character␈α∂set␈α⊂which␈α∂is␈α⊂legal␈α∂in␈α⊂the␈α∂mail
␈↓ ↓H␈↓developed.                                 ␈↓ εx␈↓protocol␈α
consists␈α
of␈α
all␈α
the␈α∞printing␈α
characters
                                           ␈↓ εx␈↓in␈α∃the␈α∃1968␈α∃ASCII␈α∃character␈α∃set␈α∀including
␈↓ ↓H␈↓Dialnet␈αmail␈αavoids␈αthe␈αproblem␈αwith␈αmultiple    ␈↓ εx␈↓space␈α∩(in␈α∩other␈α∩words,␈α∩the␈α∪characters␈α∩whose
␈↓ ↓H␈↓formats␈α⊗of␈α∃message␈α⊗headers␈α⊗by␈α∃eliminating       ␈↓ εx␈↓ASCII␈α∪value␈α∪is␈α∪between␈α∪040␈α∪and␈α∪176)␈α∪and
␈↓ ↓H␈↓them␈α
entirely.␈α Instead,␈α
messages␈α
are␈αsent␈α
using ␈↓ εx␈↓newline.␈α  In␈α∨particular,␈α rubout␈α and␈α∨the
␈↓ ↓H␈↓αMail protocol␈↓ ε∨Syntax␈↓ >21


␈↓ ↓H␈↓"control"␈α⊂characters␈α⊂(some␈α⊂of␈α⊂which␈α⊂are␈α∂used     ␈↓ εx␈↓4. (FOO BAR (BAZ GARPLY)) is a list
␈↓ ↓H␈↓for␈α∂text␈α⊂formatting␈α∂on␈α⊂some␈α∂systems)␈α⊂are␈α∂not
␈↓ ↓H␈↓part␈α∂of␈α∞the␈α∂protocol␈α∞and␈α∂should␈α∞not␈α∂be␈α∞used.       ␈↓ εx␈↓5.␈α
FOO␈α
                 is␈αthe␈α
CAR␈α
of␈α
 2,␈α 3,␈α
and
␈↓ ↓H␈↓There␈α∪is␈α∀no␈α∪guarantee␈α∀that␈α∪the␈α∀server␈α∪will        ␈↓ εx␈↓ 4
␈↓ ↓H␈↓interpret␈α∞these␈α
characters␈α∞in␈α
the␈α∞way␈α∞the␈α
user
␈↓ ↓H␈↓intended.                                  ␈↓ εx␈↓6. (BAR (BAZ GARPLY))   is the CDR of  4

␈↓ ↓H␈↓If␈αfor␈αsome␈αreason␈α"control"␈αcharacters␈αMUST     ␈↓ εx␈↓7. BAR                  is the CAR of  6
␈↓ ↓H␈↓be␈αsent,␈αit␈αshould␈αbe␈αnoted␈αthat␈αline␈αfeed␈αmust
␈↓ ↓H␈↓be␈α≡quoted␈α≡since␈α≡otherwise␈α≡it␈α∨would␈α≡be            ␈↓ εx␈↓8. (BAZ GARPLY)         is the CDR of  6
␈↓ ↓H␈↓interpreted␈α⊗as␈α↔newline.␈α⊗ Again,␈α↔servers␈α⊗are
␈↓ ↓H␈↓under␈α∃no␈α∀obligation␈α∃to␈α∃implement␈α∀"control"      ␈↓ εx␈↓9. FOO/ BAR             is an atom!!
␈↓ ↓H␈↓characters.

␈↓ ↓H␈↓There␈α⊗are␈α⊗no␈α⊗other␈α⊗special␈α⊗characters.␈α⊗ In       ␈↓ εx␈↓α␈↓ λ¬11.  Goals and Non-goals
␈↓ ↓H␈↓particular,␈α
whitespace␈α
and␈α
newlines␈α
within␈α
an
␈↓ ↓H␈↓S-expression␈αare␈αtreated␈αas␈αsigni≡cant␈αin␈αmany   ␈↓ εx␈↓The following are goals:
␈↓ ↓H␈↓places.␈α~ In␈α~non-textual␈α~situations,␈α~such␈α~as
␈↓ ↓H␈↓delimiting␈α↔between␈α↔atomic␈α↔values,␈α_a␈α↔single      ␈↓ εx␈↓1.␈α≥ To␈α≥avoid␈α≤repeating␈α≥the␈α≥mistakes␈α≤of
␈↓ ↓H␈↓whitespace␈αor␈α
newline␈αis␈αrequired␈α
and␈αfurther    ␈↓ εx␈↓ARPAnet mail.
␈↓ ↓H␈↓whitespace/newlines␈α'are␈α'super∨uous␈α'and
␈↓ ↓H␈↓should␈α~be␈α~ignored.␈α~ However,␈α≠while␈α~mail         ␈↓ εx␈↓2.␈α→ To␈α→have␈α~a␈α→system␈α→that␈α→is␈α~simple␈α→to
␈↓ ↓H␈↓servers␈α$should␈α%be␈α$prepared␈α%to␈α$ignore            ␈↓ εx␈↓implement.
␈↓ ↓H␈↓super∨uous␈α
whitespace␈α
or␈α
newlines,␈α
it␈αis␈α
strictly
␈↓ ↓H␈↓speaking␈α~a␈α~violation␈α~of␈α~protocol␈α~to␈α→send         ␈↓ εx␈↓3.␈α∩ To␈α∩establish␈α⊃strict␈α∩mail␈α∩formats␈α∩with␈α⊃no
␈↓ ↓H␈↓super∨uous whitespace or newlines.         ␈↓ εx␈↓ambiguity␈α(of␈α(format,␈α(to␈α(prevent␈α'the
                                           ␈↓ εx␈↓proliferation␈α∀of␈α∀mail␈α∀header␈α∃formats␈α∀which
␈↓ ↓H␈↓Some␈α∂LISP␈α∂terms␈α∂need␈α∞to␈α∂be␈α∂de≡ned␈α∂for␈α∞the          ␈↓ εx␈↓has occured in the ARPAnet.
␈↓ ↓H␈↓non-LISP␈α~user␈α→to␈α~make␈α→the␈α~rest␈α~of␈α→this
␈↓ ↓H␈↓document␈α↔clearer.␈α↔ Within␈α↔an␈α⊗S-expression,     ␈↓ εx␈↓4.␈α To␈αallow␈αthe␈αmail␈αsender␈αcomplete␈αfreedom
␈↓ ↓H␈↓there␈α
can␈α
be␈αatoms␈α
or␈α
other␈αS-expressions.␈α
 An    ␈↓ εx␈↓in␈αwhat␈αis␈αincluded␈αin␈αthe␈α actual␈αbody␈αof␈αthe
␈↓ ↓H␈↓atom␈α∂is␈α∂an␈α⊂indivisible␈α∂"word".␈α∂ The␈α⊂other␈α∂S-      ␈↓ εx␈↓mail message.
␈↓ ↓H␈↓expressions␈α⊂are␈α⊂called␈α⊂"lists",␈α⊂as␈α⊂they␈α⊂are␈α⊂not
␈↓ ↓H␈↓evaluated further.                         ␈↓ εx␈↓5.␈α⊂ To␈α⊂abolish␈α⊂mail␈α∂headers␈α⊂as␈α⊂they␈α⊂exist␈α∂in
                                           ␈↓ εx␈↓current mail systems entirely.
␈↓ ↓H␈↓The␈αCAR␈αof␈α
an␈αS-expression␈αor␈α
list␈αis␈αthe␈α
≡rst
␈↓ ↓H␈↓atom␈αin␈α
the␈αlist.␈α
 The␈αCDR␈α
is␈αwhat␈αremains␈α
of       ␈↓ εx␈↓6.␈α≥ To␈α≡replace␈α≥the␈α≡information␈α≥formerly
␈↓ ↓H␈↓the␈α∃S-expresssion␈α∃after␈α∀the␈α∃CAR␈α∃has␈α∀been         ␈↓ εx␈↓contained␈α∃in␈α∃the␈α∃mail␈α∃header␈α∃with␈α∃a␈α∀mail
␈↓ ↓H␈↓removed.␈α_ These␈α_two␈α_terms␈α_are␈α_sometimes         ␈↓ εx␈↓protocol negotiation.
␈↓ ↓H␈↓combined;␈αthe␈αsecond␈αelement␈αof␈αthe␈αlist␈αis␈αthe
␈↓ ↓H␈↓CAR␈α⊃of␈α⊃the␈α∩CDR␈α⊃or␈α⊃the␈α⊃CADR;␈α∩the␈α⊃third              ␈↓ εx␈↓The␈αfollowing␈α
 are␈α currently␈α
non-goals.␈α  It␈α
 is
␈↓ ↓H␈↓element␈α
is␈α
the␈α
CAR␈α
of␈α
the␈α
CDR␈α
of␈α
the␈α
CDR            ␈↓ εx␈↓felt␈α⊗that␈α⊗ there␈α↔ is␈α⊗ no␈α⊗justi≡cation␈α↔at␈α⊗the
␈↓ ↓H␈↓or CADDR, etc.                             ␈↓ εx␈↓present time to consider these matters.

␈↓ ↓H␈↓EXAMPLES:                                  ␈↓ εx␈↓1.  Compatability with ARPAnet mail.

␈↓ ↓H␈↓1. FOO                  is an atom         ␈↓ εx␈↓2.␈α∞ Message␈α
security␈α∞or␈α
encryption.␈α∞ This␈α
may
                                           ␈↓ εx␈↓happen later.
␈↓ ↓H␈↓2. (FOO BAR)            is a list
                                           ␈↓ εx␈↓3.  Explicit forwarding.
␈↓ ↓H␈↓3. (FOO BAR GARPLY)     is a list
␈↓ ↓H␈↓αMail protocol␈↓ ¬FGoals and Non-goals␈↓ <22


␈↓ ↓H␈↓4.␈α∂ Detection␈α∞and␈α∂deletion␈α∞of␈α∂duplicate␈α∞copies   ␈↓ εx␈↓␈↓ πxquoted with slash; however,
␈↓ ↓H␈↓of a message or of mail loops.             ␈↓ εx␈↓␈↓ πxwhitespace and new lines are
                                           ␈↓ εx␈↓␈↓ πxsigni≡cant and are not converted to
                                           ␈↓ εx␈↓␈↓ πxsomething else by the mail process.
␈↓ ↓H␈↓α␈↓ β∪12.  Mail Fields

␈↓ ↓H␈↓In␈α∞all␈α∞mail␈α∞≡elds,␈α
it␈α∞is␈α∞␈↓↓strongly␈α∞suggested␈↓␈α
that   ␈↓ εx␈↓α␈↓ λ≡13.  Mail Commands
␈↓ ↓H␈↓either␈α⊃upper␈α⊃or␈α⊃lower␈α⊃case␈α⊃be␈α⊃accepted,␈α⊂and
␈↓ ↓H␈↓that␈αlower␈αcase␈αbe␈αconverted␈αto␈αupper␈αcase␈αfor     ␈↓ εx␈↓The␈α∂commands␈α⊂on␈α∂these␈α⊂pages␈α∂are␈α⊂the␈α∂more
␈↓ ↓H␈↓machine-␈α⊂reading␈α⊃purposes.␈α⊂ In␈α⊃addition,␈α⊂the    ␈↓ εx␈↓important␈α_commands␈α_of␈α_the␈α→mail␈α_protocol
␈↓ ↓H␈↓o≠cial␈α⊃case␈α⊃for␈α⊃protocol␈α⊃commands␈α⊃is␈α⊂upper       ␈↓ εx␈↓which all servers are expected to implement.
␈↓ ↓H␈↓case;␈αhowever,␈αa␈αserver␈αmust␈αnot␈αdepend␈αupon
␈↓ ↓H␈↓only␈αreceiving␈α
upper␈αcase.␈α
 A␈αserver␈α
that␈αfails   ␈↓ εx␈↓For␈αall␈αmail␈αcommands,␈αthe␈αreply␈α(FAILED)␈αis
␈↓ ↓H␈↓to␈α∂do␈α∞case-independent␈α∂matching␈α∞is␈α∂bound␈α∞to      ␈↓ εx␈↓used␈αto␈αindicate␈αa␈αcommand␈αthat␈αfailed␈αdue␈αto
␈↓ ↓H␈↓encounter␈α∂problems␈α⊂in␈α∂interfacing␈α⊂with␈α∂other    ␈↓ εx␈↓some␈α∂internal␈α∂bug␈α∂on␈α∂the␈α∂part␈α∂of␈α⊂the␈α∂server,
␈↓ ↓H␈↓systems.                                   ␈↓ εx␈↓for␈α⊂such␈α∂things␈α⊂as␈α∂string␈α⊂space␈α⊂exhausted␈α∂or
                                           ␈↓ εx␈↓the␈α⊂like.␈α⊂ This␈α⊂code␈α⊂is␈α⊂NOT␈α⊂intended␈α⊃to␈α⊂be
␈↓ ↓H␈↓The␈α∪≡elds␈α∪or␈α∪arguments␈α∪to␈α∪a␈α∪mail␈α∩protocol         ␈↓ εx␈↓used to indicate a user error.
␈↓ ↓H␈↓command are one of the following:
                                           ␈↓ εx␈↓I.  (TO address)
␈↓ ↓H␈↓ADDRESS ¬ an atom or list which speci≡es a
␈↓ ↓H␈↓␈↓ αHvalid machine-readable mail address        ␈↓ εx␈↓This␈α⊂is␈α⊂the␈α⊂most␈α⊂important␈α⊂command␈α⊂in␈α∂the
␈↓ ↓H␈↓␈↓ αHon the host in question.                   ␈↓ εx␈↓mail␈α⊂protocol,␈α∂and␈α⊂the␈α∂only␈α⊂required␈α⊂one.␈α∂ It
                                           ␈↓ εx␈↓speci≡es␈α⊃to␈α⊂whom␈α⊃the␈α⊃message␈α⊂is␈α⊃to␈α⊃be␈α⊂sent.
␈↓ ↓H␈↓HOST-IDENTIFICATION ¬ either phone-        ␈↓ εx␈↓The␈α∂address␈α∂must␈α∂be␈α∂a␈α∂legal␈α∂address␈α∂for␈α∞the
␈↓ ↓H␈↓␈↓ αHnumber or a list whose CAR is              ␈↓ εx␈↓server␈α
site;␈α
ie,␈α
it␈α
must␈α
be␈α∞machine-readable␈α
as
␈↓ ↓H␈↓␈↓ αHphone-number and whose CADR is             ␈↓ εx␈↓opposed to a "human" address.
␈↓ ↓H␈↓␈↓ αHhost-name.
                                           ␈↓ εx␈↓     Examples:
␈↓ ↓H␈↓HOST-NAME ¬ an atom which speci≡es the
␈↓ ↓H␈↓␈↓ αHo≠cial host name as kept on record         ␈↓ εx␈↓(TO MRC) (TO Network/ Wizard)
␈↓ ↓H␈↓␈↓ αHby the Dialnet implementors.
                                           ␈↓ εx␈↓     Replies:
␈↓ ↓H␈↓MESSAGE-TEXT ¬ a text string consisting
␈↓ ↓H␈↓␈↓ αHof the actual text of the message.         ␈↓ εx␈↓(OK) The address has been accepted.  More
                                           ␈↓ εx␈↓␈↓ πXdestinations may be speci≡ed for
␈↓ ↓H␈↓PHONE-NUMBER ¬ a dialup phone              ␈↓ εx␈↓␈↓ πXthis message.
␈↓ ↓H␈↓␈↓ αHnumber in the form of a string of
␈↓ ↓H␈↓␈↓ αHdigits.                                    ␈↓ εx␈↓(OK-NO-MORE) The address  has  been
                                           ␈↓ εx␈↓␈↓ πXaccepted,  but no  more  destinations
␈↓ ↓H␈↓SUBJECT-TEXT ¬ an optional text string     ␈↓ εx␈↓␈↓ πXmay  be speci≡ed for this message.
␈↓ ↓H␈↓␈↓ αHused as a one-line "topic" of the
␈↓ ↓H␈↓␈↓ αHmessage.                                   ␈↓ εx␈↓(UNKNOWN) The address has been rejected;
                                           ␈↓ εx␈↓␈↓ πXthere  is no known destination at  this
␈↓ ↓H␈↓TEXT ¬ a data type (see SUBJECT-TEXT       ␈↓ εx␈↓␈↓ πXsite with that address.
␈↓ ↓H␈↓␈↓ αHand MESSAGE-TEXT) which is
␈↓ ↓H␈↓␈↓ αHcompletely quoted.  TEXT                   ␈↓ εx␈↓(ILLEGAL)  The address is in illegal format
␈↓ ↓H␈↓␈↓ αHoutwardly looks like a list in that        ␈↓ εx␈↓␈↓ πXfor this site.
␈↓ ↓H␈↓␈↓ αHthere are parentheses at each end,
␈↓ ↓H␈↓␈↓ αHand parentheses and slashes must be        ␈↓ εx␈↓II. (FROM address host-identi≡cation)
␈↓ ↓H␈↓αMail protocol␈↓ ¬aMail Commands␈↓ <23


␈↓ ↓H␈↓This␈α↔command␈α↔speci≡es␈α↔the␈α↔origin␈α_of␈α↔the          ␈↓ εx␈↓(MESSAGE␈α⊃(It␈α⊃has␈α⊃been␈α⊃suggested␈α∩that␈α⊃the
␈↓ ↓H␈↓message.␈α The␈αaddress␈αmust␈αbe␈αa␈αlegal␈αaddress     ␈↓ εx␈↓MAIL␈α↔protocol␈α↔be␈α↔enhanced␈α↔to␈α↔make␈α⊗the
␈↓ ↓H␈↓for␈α⊂the␈α⊂user␈α∂site's␈α⊂mail␈α⊂server;␈α∂ie,␈α⊂it␈α⊂must␈α∂be     ␈↓ εx␈↓phase␈α∞of␈α∂the␈α∞moon␈α∂be␈α∞a␈α∂required␈α∞item␈α∂in␈α∞all
␈↓ ↓H␈↓machine-readable.␈α$ The␈α#address␈α$in␈α#this         ␈↓ εx␈↓messages.␈α∃ It␈α∃is␈α∃felt␈α∃that␈α∃this␈α∃item␈α⊗is␈α∃very
␈↓ ↓H␈↓command␈αis␈αthe␈αdefault␈αfor␈αthe␈αSENDER␈αand         ␈↓ εx␈↓important␈α⊃and␈α⊃all␈α⊂user␈α⊃and␈α⊃server␈α⊂programs
␈↓ ↓H␈↓REPLY-TO␈α∃addresses.␈α∀ It␈α∃should␈α∃be␈α∀noted         ␈↓ εx␈↓will␈α∩be␈α∪expected␈α∩to␈α∪implement␈α∩this␈α∪by␈α∩next
␈↓ ↓H␈↓that␈α∩many␈α⊃sites␈α∩may␈α⊃not␈α∩wish␈α∩to␈α⊃implement         ␈↓ εx␈↓Tuesday.  ))
␈↓ ↓H␈↓SENDER␈α
and␈αREPLY-TO.␈α
 This␈α
means␈αthat
␈↓ ↓H␈↓FROM␈αis␈αrequired␈αif␈αany␈αorigin␈αis␈αspeci≡ed␈αat      ␈↓ εx␈↓     Replies:
␈↓ ↓H␈↓all,␈α∩and␈α∪that␈α∩it␈α∪should␈α∩specify␈α∪a␈α∩reasonable
␈↓ ↓H␈↓origin and reply address.                  ␈↓ εx␈↓(OK)  The command was accepted.  This is
                                           ␈↓ εx␈↓␈↓ πXthe only legal response.
␈↓ ↓H␈↓     Examples:

␈↓ ↓H␈↓(FROM MRC 415-497-1234)

␈↓ ↓H␈↓(FROM␈α∩DIALNET-HACKER␈α⊃(415-497-4321
␈↓ ↓H␈↓SU-AI))

␈↓ ↓H␈↓     Replies:

␈↓ ↓H␈↓(OK) The command was accepted.  This is
␈↓ ↓H␈↓␈↓ α(the only legal response.

␈↓ ↓H␈↓III. (SUBJECT subject-text)

␈↓ ↓H␈↓This␈α
command␈α
speci≡es␈α
a␈α
subject␈α
text␈α
for␈α
the
␈↓ ↓H␈↓message.␈α⊂ It␈α⊂is␈α⊂used␈α∂to␈α⊂provide␈α⊂a␈α⊂short␈α∂topic
␈↓ ↓H␈↓for␈α∀the␈α∃message␈α∀for␈α∃the␈α∀reference␈α∃or␈α∀≡ling
␈↓ ↓H␈↓purposes of the eventual message reader.

␈↓ ↓H␈↓     Examples:

␈↓ ↓H␈↓(SUBJECT (Suggested addition to the MAIL
␈↓ ↓H␈↓␈↓ α(protocol))

␈↓ ↓H␈↓(SUBJECT (In reply to your message about
␈↓ ↓H␈↓␈↓ α(the MAIL protocol))

␈↓ ↓H␈↓     Replies:

␈↓ ↓H␈↓(OK) The command was accepted.  This is
␈↓ ↓H␈↓␈↓ α(the only legal response.

␈↓ ↓H␈↓IV. (MESSAGE message-text)

␈↓ ↓H␈↓This␈α∂command␈α∂speci≡es␈α∂the␈α∂text␈α∂body␈α∂of␈α∂the
␈↓ ↓H␈↓message.

␈↓ ↓H␈↓     Example:
␈↓ ↓H␈↓α␈↓ εP␈↓ 924


␈↓ ↓H␈↓α␈↓ β&Appendix E                                 ␈↓ εx␈↓Present scienti≡c work is in the ≡elds of
␈↓ ↓H␈↓α␈↓ β7Personnel                                  ␈↓ εx␈↓␈↓ π8Arti≡cial Intelligence, Computation with
                                           ␈↓ εx␈↓␈↓ π8Symbolic Expressions, Mathematical
␈↓ ↓H␈↓Biography of John McCarthy                 ␈↓ εx␈↓␈↓ π8Theory of Computation, Time-Sharing
                                           ␈↓ εx␈↓␈↓ π8computer systems.
␈↓ ↓H␈↓BORN:  September 4, 1927 in Boston,
␈↓ ↓H␈↓␈↓ αλMassachusetts                              ␈↓ εx␈↓PUBLICATIONS:

␈↓ ↓H␈↓EDUCATION: B.S.  (Mathematics)             ␈↓ εx␈↓[1]  "Towards a Mathematical Theory of
␈↓ ↓H␈↓␈↓ αλCalifornia Institute of Technology, 1948.  ␈↓ εx␈↓␈↓ π8Computation", in ␈↓↓Proc. IFIP Congress
␈↓ ↓H␈↓␈↓ αλPh.D. (Mathematics) Princeton              ␈↓ εx␈↓↓␈↓ π862␈↓, North-Holland, Amsterdam, 1963.
␈↓ ↓H␈↓␈↓ αλUniversity, 1951.
                                           ␈↓ εx␈↓[2]  "A Basis for a Mathematical Theory of
␈↓ ↓H␈↓HONORS AND SOCIETIES: American             ␈↓ εx␈↓␈↓ π8Computation", in P. Bia≥ort and D.
␈↓ ↓H␈↓␈↓ αλMathematical Society, Association for      ␈↓ εx␈↓␈↓ π8Hershberg (eds.), ␈↓↓Computer Programming
␈↓ ↓H␈↓␈↓ αλComputing Machinery, Sigma Xi, Sloan       ␈↓ εx␈↓↓␈↓ π8and Formal Systems␈↓, North-Holland,
␈↓ ↓H␈↓␈↓ αλFellow in Physical Science (1957-59),      ␈↓ εx␈↓␈↓ π8Amsterdam, 1963.
␈↓ ↓H␈↓␈↓ αλACM National Lecturer (1961), IEEE,
␈↓ ↓H␈↓␈↓ αλA.M. Turing Award from Association for     ␈↓ εx␈↓[3]  (with S. Boilen, E. Fredkin, J.C.R.
␈↓ ↓H␈↓␈↓ αλComputing Machinery (1971).                ␈↓ εx␈↓␈↓ π8Licklider) "A Time-Sharing Debugging
                                           ␈↓ εx␈↓␈↓ π8System for a Small Computer", ␈↓↓Proc.
␈↓ ↓H␈↓PROFESSIONAL EXPERIENCE: Proctor           ␈↓ εx␈↓↓␈↓ π8AFIPS Conf.␈↓ (SJCC), Vol. 23, 1963.
␈↓ ↓H␈↓␈↓ αλFellow, Princeton University (1950-51),
␈↓ ↓H␈↓␈↓ αλHiggins Research Instructor in             ␈↓ εx␈↓[4]  (with F. Corbato, M. Daggett) "The
␈↓ ↓H␈↓␈↓ αλMathematics, Princeton University (1951-   ␈↓ εx␈↓␈↓ π8Linking Segment Subprogram Language
␈↓ ↓H␈↓␈↓ αλ53), Acting Assistant Professor of         ␈↓ εx␈↓␈↓ π8and Linking Loader Programming
␈↓ ↓H␈↓␈↓ αλMathematics, Stanford University (1953-    ␈↓ εx␈↓␈↓ π8Languages", ␈↓↓Comm. ACM␈↓, July 1963.
␈↓ ↓H␈↓␈↓ αλ55), Assistant Professor of Mathematics,
␈↓ ↓H␈↓␈↓ αλDartmouth College (1955-58), Assistant     ␈↓ εx␈↓[5]  "Problems in the Theory of
␈↓ ↓H␈↓␈↓ αλProfessor of Communication Science,        ␈↓ εx␈↓␈↓ π8Computation", ␈↓↓Proc. IFIP Congress 1965␈↓.
␈↓ ↓H␈↓␈↓ αλM.I.T. (1958-61), Associate Professor of
␈↓ ↓H␈↓␈↓ αλCommunication Science, M.I.T. (1961-62),   ␈↓ εx␈↓[6]  "Time-Sharing Computer Systems", in W.
␈↓ ↓H␈↓␈↓ αλProfessor of Computer Science Stanford     ␈↓ εx␈↓␈↓ π8Orr (ed.), ␈↓↓Conversational Computers␈↓,
␈↓ ↓H␈↓␈↓ αλUniversity (1962 - present).               ␈↓ εx␈↓␈↓ π8Wiley, 1966.

␈↓ ↓H␈↓PROFESSIONAL RESPONSIBILITIES              ␈↓ εx␈↓[7]  "A Formal Description of a Subset of
␈↓ ↓H␈↓␈↓ αλAND SCIENTIFIC INTERESTS: With             ␈↓ εx␈↓␈↓ π8Algol", in T.  Steele (ed.), ␈↓↓Formal
␈↓ ↓H␈↓␈↓ αλMarvin Minsky organized and directed       ␈↓ εx␈↓↓␈↓ π8Language Description Languages for
␈↓ ↓H␈↓␈↓ αλthe Arti≡cial Intelligence Project at      ␈↓ εx␈↓↓␈↓ π8Computer Programming␈↓, North-Holland,
␈↓ ↓H␈↓␈↓ αλM.I.T.                                     ␈↓ εx␈↓␈↓ π8Amsterdam, 1966.

␈↓ ↓H␈↓Organized and directs Stanford Arti≡cial   ␈↓ εx␈↓[8]  "Information", ␈↓↓Scienti≡c American␈↓,
␈↓ ↓H␈↓␈↓ αλIntelligence Project                       ␈↓ εx␈↓␈↓ π8September 1966.

␈↓ ↓H␈↓Developed the LISP programming system for  ␈↓ εx␈↓[9]  "Computer Control of a Hand and Eye",
␈↓ ↓H␈↓␈↓ αλcomputing with symbolic expressions,       ␈↓ εx␈↓␈↓ π8in ␈↓↓Proc.  Third All-Union Conference on
␈↓ ↓H␈↓␈↓ αλparticipated in the development of the     ␈↓ εx␈↓↓␈↓ π8Automatic Control (Technical Cybernetics)␈↓,
␈↓ ↓H␈↓␈↓ αλALGOL 58 and the ALGOL 60                  ␈↓ εx␈↓␈↓ π8Nauka, Moscow, 1967 (Russian).
␈↓ ↓H␈↓␈↓ αλlanguages.
                                           ␈↓ εx␈↓[10]  (with D. Brian, G. Feldman, and J.
␈↓ ↓H␈↓αPersonnel␈↓ εP␈↓ ;25


␈↓ ↓H␈↓␈↓ αλAllen) "THOR ¬ A Display Based Time-       ␈↓ εx␈↓␈↓ π8Book", a review of ␈↓↓Computer Power and
␈↓ ↓H␈↓␈↓ αλSharing System", ␈↓↓Proc. AFIPS Conf.␈↓         ␈↓ εx␈↓↓␈↓ π8Human Reason␈↓ by Joseph Weizenbaum
␈↓ ↓H␈↓␈↓ αλ(FJCC), Vol.  30, Thompson,                ␈↓ εx␈↓␈↓ π8(W.H. Freeman and Co., San Francisco,
␈↓ ↓H␈↓␈↓ αλWashington, D.C., 1967.                    ␈↓ εx␈↓␈↓ π81976), ␈↓↓SIGART Newsletter␈↓  58, June
                                           ␈↓ εx␈↓␈↓ π81976.
␈↓ ↓H␈↓[11]  (with James Painter) "Correctness of a
␈↓ ↓H␈↓␈↓ αλCompiler for Arithmetic Expressions",      ␈↓ εx␈↓[21]  McCarthy, John, Review: ␈↓↓Computer
␈↓ ↓H␈↓␈↓ αλAmer. Math. Soc., ␈↓↓Proc. Symposia in        ␈↓ εx␈↓↓␈↓ π8Power and Human Reason␈↓, by Joseph
␈↓ ↓H␈↓↓␈↓ αλApplied Math., Math. Aspects of            ␈↓ εx␈↓␈↓ π8Weizenbaum (W.H.  Freeman and Co.,
␈↓ ↓H␈↓↓␈↓ αλComputer Science␈↓, New York, 1967.          ␈↓ εx␈↓␈↓ π8San Francisco, 1976) in ␈↓↓Physics Today␈↓,
                                           ␈↓ εx␈↓␈↓ π81977.
␈↓ ↓H␈↓[12]  "Programs with Common Sense", in
␈↓ ↓H␈↓␈↓ αλMarvin Minsky (ed.), ␈↓↓Semantic              ␈↓ εx␈↓[22]  McCarthy, John, "Another
␈↓ ↓H␈↓↓␈↓ αλInformation Processing␈↓, MIT Press,         ␈↓ εx␈↓␈↓ π8SAMEFRINGE", ␈↓↓SIGART Newsletter␈↓
␈↓ ↓H␈↓␈↓ αλCambridge, 1968.                           ␈↓ εx␈↓␈↓ π8No. 61, February 1977.

␈↓ ↓H␈↓[13]  (with Lester Earnest, D. Raj. Reddy, ␈↓ εx␈↓[23]  McCarthy, John, "The Home
␈↓ ↓H␈↓␈↓ αλPierre Vicens) "A Computer with Hands,     ␈↓ εx␈↓␈↓ π8Information Terminal", ␈↓↓The Grolier
␈↓ ↓H␈↓␈↓ αλEyes, and Ears", ␈↓↓Proc. AFIPS Conf.␈↓         ␈↓ εx␈↓↓␈↓ π8Encyclopedia␈↓, 1977.
␈↓ ↓H␈↓␈↓ αλ(FJCC), 1968.
                                           ␈↓ εx␈↓[24]  McCarthy, John, M. Sato, T. Hayashi, S.
␈↓ ↓H␈↓[14]  (with Patrick Hayes) "Some           ␈↓ εx␈↓␈↓ π8Igarashi, "On the Model Theory of
␈↓ ↓H␈↓␈↓ αλPhilosophical Problems from the            ␈↓ εx␈↓␈↓ π8Knowledge", ␈↓↓Proc. Int. Joint Conf. on A.I.␈↓,
␈↓ ↓H␈↓␈↓ αλStandpoint of Arti≡cial Intelligence", in  ␈↓ εx␈↓␈↓ π8August 1977.
␈↓ ↓H␈↓␈↓ αλDonald Michie (ed.), ␈↓↓Machine Intelligence
␈↓ ↓H␈↓↓␈↓ αλ4␈↓, American Elsevier, New York, 1969.      ␈↓ εx␈↓[25]  McCarthy, John, "Epistemological
                                           ␈↓ εx␈↓␈↓ π8Problems of Arti≡cial Intelligence", ␈↓↓Proc.
␈↓ ↓H␈↓[15]  "The Home Information Terminal", ␈↓↓Man ␈↓ εx␈↓↓␈↓ π8Int. Joint Conf. on A.I.␈↓, August 1977.
␈↓ ↓H␈↓↓␈↓ αλand Computer, Proc. Int. Conf., Bordeaux,
␈↓ ↓H␈↓↓␈↓ αλ1970␈↓, S. Karger, New York, 1972.           ␈↓ εx␈↓[26]  McCarthy, John, "History of LISP", ␈↓↓Proc.
                                           ␈↓ εx␈↓↓␈↓ π8ACM Conf. on History of Programming
␈↓ ↓H␈↓[16]  McCarthy, John, "Mechanical Servants ␈↓ εx␈↓↓␈↓ π8Languages,␈↓ 1978.
␈↓ ↓H␈↓␈↓ αλfor Mankind", ␈↓↓Britannica Yearbook of
␈↓ ↓H␈↓↓␈↓ αλScience and the Future␈↓, 1973.              ␈↓ εx␈↓[27]  McCarthy, John, "Representation of
                                           ␈↓ εx␈↓␈↓ π8Recursive Programs in First Order
␈↓ ↓H␈↓[17]  McCarthy, John, Book Review:         ␈↓ εx␈↓␈↓ π8Logic", ␈↓↓Proc. Int. Conf. on Mathematical
␈↓ ↓H␈↓␈↓ αλ"Arti≡cial Intelligence: A General Survey" ␈↓ εx␈↓↓␈↓ π8Studies of Information Processing,␈↓  Kyoto
␈↓ ↓H␈↓␈↓ αλby Sir James Lighthill, ␈↓↓Arti≡cial          ␈↓ εx␈↓␈↓ π8Japan, 1978.
␈↓ ↓H␈↓↓␈↓ αλIntelligence␈↓, Vol. 5, No. 3, Fall 1974.
                                           ␈↓ εx␈↓[28]  McCarthy, John, "Ascribing Mental
␈↓ ↓H␈↓[18]  McCarthy, John, "Modeling Our Minds" ␈↓ εx␈↓␈↓ π8Qualities to Machines", ␈↓↓Philosophical
␈↓ ↓H␈↓␈↓ αλ␈↓↓Science Year 1975␈↓, The World Book          ␈↓ εx␈↓↓␈↓ π8Perspectives in Arti≡cial Intelligence,␈↓
␈↓ ↓H␈↓␈↓ αλScience Annual, Field Enterprises          ␈↓ εx␈↓␈↓ π8Martin Ringle (ed.), Humanities Press, to
␈↓ ↓H␈↓␈↓ αλEducational Corporation, Chicago, 1974.    ␈↓ εx␈↓␈↓ π8appear 1978.

␈↓ ↓H␈↓[19]  McCarthy, John, "Proposed Criterion for
␈↓ ↓H␈↓␈↓ αλa Cipher to be Probable-word-proof",
␈↓ ↓H␈↓␈↓ αλ␈↓↓Comm. ACM␈↓, February 1975.

␈↓ ↓H␈↓[20]  McCarthy, John, "An Unreasonable
␈↓ ↓H␈↓α␈↓ εP␈↓ <26


␈↓ ↓H␈↓α␈↓ β'Appendix F                                 ␈↓ εx␈↓The␈α⊂computer␈α⊂facilities␈α∂of␈α⊂the␈α⊂Stanford␈α∂Low
␈↓ ↓H␈↓α␈↓ β;Facilities                                 ␈↓ εx␈↓Overhead␈α∂Timesharing␈α∞System␈α∂consist␈α∂of␈α∞the
                                           ␈↓ εx␈↓following.
␈↓ ↓H␈↓The␈α⊗computer␈α⊗ facilities␈α⊗ of␈α⊗ the␈α⊗ Stanford
␈↓ ↓H␈↓Arti≡cial␈α⊂ Intelligence␈α⊂Laboratory␈α⊂include␈α∂the ␈↓ εx␈↓Central processor:  Digital Equipment
␈↓ ↓H␈↓following␈α⊗equipment,␈α↔most␈α⊗of␈α↔it␈α⊗purchased       ␈↓ εx␈↓␈↓ λ_Corporation DECsystem 2050 (36
␈↓ ↓H␈↓with U.S. Government research funds.       ␈↓ εx␈↓␈↓ λ_bit machine).

␈↓ ↓H␈↓Central processors: Digital Equipment      ␈↓ εx␈↓Primary store:  512k words (36 bit) of 1
␈↓ ↓H␈↓␈↓ αhCorporation KL10 and KA10.                 ␈↓ εx␈↓␈↓ λ_microsecond DEC core.

␈↓ ↓H␈↓Primary store:     1,048k words (36 bit) of 1 to␈↓ εx␈↓File store:  3 DEC RP06 disc drives (capacity:
␈↓ ↓H␈↓␈↓ αh1.6 microsecond core (DEC and              ␈↓ εx␈↓␈↓ λ_4.8 x 10␈↓∧9␈↓ bits).
␈↓ ↓H␈↓␈↓ αhAmpex)
                                           ␈↓ εx␈↓Peripherals: DEC 9-track tape drive, 3
␈↓ ↓H␈↓File store:          Ampex disc ≡le (3330-11␈↓ εx␈↓␈↓ λ_Printronix line printers.
␈↓ ↓H␈↓␈↓ αhtype), 7 spindles (capacity: 9.1 x
␈↓ ↓H␈↓␈↓ αh10␈↓∧9␈↓ bits).                                 ␈↓ εx␈↓Terminals: 60+ Lear-Siegler ADM-3 and
                                           ␈↓ εx␈↓␈↓ λ_Hazeltine 1500 terminals.
␈↓ ↓H␈↓Peripherals:         4 Dectape drives, 2 mag
␈↓ ↓H␈↓␈↓ αhtape drives (7 channel), line
␈↓ ↓H␈↓␈↓ αhprinter, Calcomp plotter, Xerox
␈↓ ↓H␈↓␈↓ αhGraphics Printer

␈↓ ↓H␈↓Terminals:           58 Data Disc displays, 6 III
␈↓ ↓H␈↓␈↓ αhdisplays, 4 IMLAC displays, 25
␈↓ ↓H␈↓␈↓ αhDatamedia displays, 5 TI
␈↓ ↓H␈↓␈↓ αhterminals

␈↓ ↓H␈↓Realtime processors: DEC PDP-11/45 and
␈↓ ↓H␈↓␈↓ αhSPS-41 with 8k words (16 bit) of
␈↓ ↓H␈↓␈↓ αhcore and 197k words of Intel
␈↓ ↓H␈↓␈↓ αhMOS memory.

␈↓ ↓H␈↓Communications processor: BBN TIP
␈↓ ↓H␈↓␈↓ αh(Honeywell DDP-316) connected
␈↓ ↓H␈↓␈↓ αhto the ARPA Network.

␈↓ ↓H␈↓Special  equipment:  Audio input and output
␈↓ ↓H␈↓␈↓ αhsystems, hand-eye equipment (3
␈↓ ↓H␈↓␈↓ αhTV cameras, 2 arms), remote-
␈↓ ↓H␈↓␈↓ αhcontrolled cart.
␈↓ ↓H␈↓α␈↓ εP␈↓ :27


␈↓ ↓H␈↓α␈↓ β%Appendix G 
␈↓ ↓H␈↓α␈↓ β	Current Support 

␈↓ ↓H␈↓Prof.␈α⊂McCarthy␈α⊂is␈α⊂currently␈α⊂being␈α⊂supported
␈↓ ↓H␈↓by␈α∩the␈α∩Advanced␈α∩Research␈α∪Projects␈α∩Agency
␈↓ ↓H␈↓under␈α.Contract␈α.MDA903-76-C-0206␈α-(1
␈↓ ↓H␈↓January␈α∞1976␈α∞-␈α∞30␈α∞Sept.␈α∞ 1978,␈α
$918,000/year)
␈↓ ↓H␈↓and␈α⊂by␈α⊂the␈α⊂National␈α⊂Science␈α⊂Foundation␈α⊂for
␈↓ ↓H␈↓Basic␈α
Research␈αin␈α
Arti≡cial␈α
Intelligence␈αunder
␈↓ ↓H␈↓Grant␈αMCS␈α
78-00524,␈αJuly␈α
1978␈αthrough␈α
June
␈↓ ↓H␈↓1979␈α∨at␈α∨$105,197.␈α∨ Prof.␈α∨McCarthy␈α≡also
␈↓ ↓H␈↓oversees␈α
but␈α
receives␈α
no␈α
personal␈α
support␈α
from
␈↓ ↓H␈↓the following NSF grants and contracts.

␈↓ ↓H␈↓1. Veri≡cation Oriented Programming under
␈↓ ↓H␈↓␈↓ ↓xGrant Number MCS76-00327, June 1976 -
␈↓ ↓H␈↓␈↓ ↓xJune 1980, $93,000/year.

␈↓ ↓H␈↓2. Exploratory Study of Computer Integrated
␈↓ ↓H␈↓␈↓ ↓xAssembly Systems, Contract DAR78-15914,
␈↓ ↓H␈↓␈↓ ↓xAugust 1978 - July 1980, $300,000/year.

␈↓ ↓H␈↓3. "A Uni≡ed Approach to Automatic
␈↓ ↓H␈↓␈↓ ↓xProgramming", Grant MCS-76-83655, July
␈↓ ↓H␈↓␈↓ ↓x1977 - June 1979, $53,350/year.

␈↓ ↓H␈↓4. "Veri≡cation of Operating Systems written
␈↓ ↓H␈↓␈↓ ↓xin Concurrent Pascal", Grant MCS 77-
␈↓ ↓H␈↓␈↓ ↓x01194, August 1977 - July 1979,
␈↓ ↓H␈↓␈↓ ↓x$37,000/year.
␈↓ ↓H␈↓α␈↓ εP␈↓ <29


␈↓ ↓H␈↓α␈↓ ¬|Appendix H 
␈↓ ↓H␈↓α␈↓ ε!Budget 

␈↓ ↓H␈↓Two years beginning 1 January 1979.

␈↓ ↓H␈↓β␈↓ α_                                 Man    1 Jan.'79 to       1 Jan.'80 to
␈↓ ↓H␈↓β␈↓ α_                                Months  31 Dec.'79         31 Dec.'80
␈↓ ↓H␈↓β␈↓ α_A. SALARIES AND WAGES

␈↓ ↓H␈↓β␈↓ α_   1.Senior Personnel
␈↓ ↓H␈↓β␈↓ α_      Professor John McCarthy      1      - - -               - - -
␈↓ ↓H␈↓β␈↓ α_      Principal Investigator (5%)

␈↓ ↓H␈↓β␈↓ α_      Lester Earnest (10%)        2     $4,058              $4,383
␈↓ ↓H␈↓β␈↓ α_      Res. Scientist & Lecturer

␈↓ ↓H␈↓β␈↓ α_   2..Other Personnel

␈↓ ↓H␈↓β␈↓ α_      a.Programmer
␈↓ ↓H␈↓β␈↓ α_        Mark Crispin (100%)              14,416              15,572

␈↓ ↓H␈↓β␈↓ α_      b.Student Research Assistants
␈↓ ↓H␈↓β␈↓ α_        Acad. yr. 50%, Sum. 100%          7,710               8,322

␈↓ ↓H␈↓β␈↓ α_      c.Support Personnel

␈↓ ↓H␈↓β␈↓ α_        Secretary (10%)                   1,253               1,353

␈↓ ↓H␈↓β␈↓ α_        Electronic Technician (15%)       2,404               2,596
␈↓ ↓H␈↓β␈↓ α_                                         ______              ______

␈↓ ↓H␈↓β␈↓ α_      Total Salaries and Wages           29,841              32,226


␈↓ ↓H␈↓β␈↓ α_B. STAFF BENEFITS                         6,155               7,025
␈↓ ↓H␈↓β␈↓ α_   20.3% till 8/31/79,
␈↓ ↓H␈↓β␈↓ α_   21.6% till 8/31/80,
␈↓ ↓H␈↓β␈↓ α_   22.4% thereafter                      ______              ______

␈↓ ↓H␈↓β␈↓ α_C. TOTAL SALARIES, WAGES,                35,996              39,251
␈↓ ↓H␈↓β␈↓ α_   AND STAFF BENEFITS

␈↓ ↓H␈↓β␈↓ α_D. PERMANENT EQUIPMENT
␈↓ ↓H␈↓β␈↓ α_   4 microprocessor-controlled modems     8,000

␈↓ ↓H␈↓β␈↓ α_E. EXPENDABLE SUPPLIES                    1,000               1,000
␈↓ ↓H␈↓β␈↓ α_   & EQUIPMENT(e.g., copying,
␈↓ ↓H␈↓β␈↓ α_   office supplies,postage,
␈↓ ↓H␈↓β␈↓ α_   freight,consulting,honoraria)

␈↓ ↓H␈↓β␈↓ α_F. TRAVEL                                 1,200               1,200

␈↓ ↓H␈↓β␈↓ α_G. PUBLICATION COSTS                        500                 500

␈↓ ↓H␈↓β␈↓ α_H. COMPUTER COSTS                         - - -               - - -
␈↓ ↓H␈↓αBudget␈↓ εP␈↓ :30


␈↓ ↓H␈↓β␈↓ α_I. OTHER COSTS
␈↓ ↓H␈↓β␈↓ α_   Telephone                                200                 200
␈↓ ↓H␈↓β␈↓ α_                                         ______              ______

␈↓ ↓H␈↓β␈↓ α_J. TOTAL DIRECT COSTS (A through I)      46,896              42,151

␈↓ ↓H␈↓β␈↓ α_K. INDIRECT COSTS                        22,560              24,448
␈↓ ↓H␈↓β␈↓ α_   58% of (J less D)                     ------              ------

␈↓ ↓H␈↓β␈↓ α_L. TOTAL COSTS (J plus K)               $69,456             $66,599
␈↓ ↓H␈↓β␈↓ α_                                        -------             -------

␈↓ ↓H␈↓β␈↓ α_Total Budget (two years)                                   $136,055





␈↓ ↓H␈↓¬The source file of this document is DIAL78.PUB[DIA,JMC]@SU-AI.